[OpenSCAD] a matter of speed....

Carsten Arnholm arnholm at arnholm.org
Tue Jul 16 14:28:32 EDT 2019


On 16.07.2019 14:18, Doug Moen wrote:
> The GPU isn't used for rendering. What does speed up rendering is a large CPU cache and fast RAM. For example, see this old forum thread, where benchmarks are used to prove this: http://forum.openscad.org/OpenSCAD-performance-numbers-td4707.html
> 
> Multiple cores helps, but I think this is model dependent, since I don't think that multiple cores helps with the final top level union.
> 
> Lots of RAM is a good thing, it allows you to render larger models.
> 
> Doug Moen

I tried the bracelet example in that link on my Kubuntu 18.04.2 LTS 
machine with 32 GB RAM & 4 CPUs, running openscad_nightly 2019.03.31

For some reason openscad_nightly is rather limited as it can only read 
files under ~  (i.e. /home/username). It can't even see my second disk 
where I usually have things like this.

That aside, the bracelet example from the old thread ran in 15 seconds 
on my machine. The old 2013 thread reported times of several minutes.

The model created seems fine although it looks like OpenSCAD reports the 
wrong number of faces generated, it reports 7816 faces but the real 
number seems to be 8400 faces/4200 vertices.

https://gist.github.com/arnholm/cf42fa8000bf253bada605c2ae8d71ac

At the bottom of the gist I recreated the same example using AngelCAD 
(v1.3-01) which does multi-threaded processing. With a bit of tweaking 
it also creates 8400 faces/4200 vertices in 1.51 sec, i.e. 10x faster.

This is a small model, so the top level union issue is not really 
apparent. It is true that if multi-threading is done per boolean 
operation, the final operation will run on once CPU only and will not 
benefit from multiple cores.

Carsten Arnholm



More information about the Discuss mailing list