Since I don’t expect to have time in the near future to work on VHACD , I am writing this post to keep track of the performance
improvements obtained after the latest optimizations I added. The source code is available here.
Experimental Evaluation
Table 1 compares the computation times (cf. Section "Machine description") of VHACD 2.0 and VHACD 2.2 obtained by using the configuration described below (cf. Table 2). These results show that VHACD 2.2 is an order of magnitude faster than VHACD 2.0. The gains are mainly obtained thanks to the convexhull approximation (cf. Section "Updates"). The OpenCL acceleration provides 3050% lower computation times when compared to the CPUonly version of VHACD 2.2.
Experimental Evaluation
Table 1 compares the computation times (cf. Section "Machine description") of VHACD 2.0 and VHACD 2.2 obtained by using the configuration described below (cf. Table 2). These results show that VHACD 2.2 is an order of magnitude faster than VHACD 2.0. The gains are mainly obtained thanks to the convexhull approximation (cf. Section "Updates"). The OpenCL acceleration provides 3050% lower computation times when compared to the CPUonly version of VHACD 2.2.
The code is still not fully optimized and more
improvements could be expected!
VHACD 2.0 (CPU only)

VHACD 2.2 (CPU+GPU)


army_man

650s

65s

block

220s

26s

Bunny

317s

30s

Camel

388s

34s

Casting

744s

79s

Chair

408s

42s

Cow1

314s

30s

Cow2

349s

32s

deer_bound

411s

34s

Parameter

Config.
1

resolution

8000000

max. depth

20

max. concavity

0.001

plane downsampling

4

convexhull downsampling

4

alpha

0.05

beta

0.05

gamma

0.0005

delta

0.05

pca

0

mode

0

max. vertices per convexhull

64

min. volume to add vertices to convexhulls

0.0001

convexhull approximation

1

Updates
VHACD 2.2 include the following updates:
 OpenCL acceleration to compute the clipped volumes on the GPU
 Convexhull approximation to accelerate concavity calculations
 Added local concavity measure to clipping cost calculation
 Changed command line parameters
To do
When I'll find time (probably not soon), I need to do the following:
When I'll find time (probably not soon), I need to do the following:
 Test the code and build executables for different platforms (i.e., Linux, Mac OS), and
 Update the Blender addon to make it work with the new command line parameters.
Machine description
 OS: Windows 8.1 Pro 64bit
 CPU: Intel(R) Core(TM) i72600 CPU @ 3.40GHz (8 CPUs), ~3.4GHz
 GPU: NVIDIA GeForce GTX 550 Ti
 Memory: 10240MB RAM