LDraw.org Discussion Forums
LPub3D Rendering Performance Improvement - Printable Version

+- LDraw.org Discussion Forums (https://forums.ldraw.org)
+-- Forum: LDraw Programs (https://forums.ldraw.org/forum-7.html)
+--- Forum: LDraw Editors and Viewers (https://forums.ldraw.org/forum-11.html)
+--- Thread: LPub3D Rendering Performance Improvement (/thread-21580.html)



LPub3D Rendering Performance Improvement - Trevor Sandy - 2016-06-08

Greetings - just wanted to say Travis' guidance to render images with LDView using the -SaveSnapshots=1 switch is showing a 75% increase in performance. This configuration renders multiple files using a single call. So with this 'Single Call' configuration on LPub3D, the entire parts list/bom is rendered with a single call and step models on a multi-step page are also rendered with a single call.

I have to add that this enhancement was quite complicated. Image attributes (height and width) are critical to the lowest level of LPub3D functionality and are processed on the fly as page components are constructed so to not generate images on the fly - so they can be included in a single call - was most complicated. Especially to design something that was not more expensive than the current performance cost. It's not good to rob Peter to pay Paul. Anyhow, I believe what I came up with is a good design and the results clearly show a performance credit.

So without further adieu, here is the evidence log for the model file below. (Model file credit: Philo):

Single Flat Page - LDView Single Call
 "LDView"  PLI single render call took  4660 milliseconds. 
 "LDView"  CSI single render call took  923 milliseconds  for step  1  on page  1 
 
Single Flat Page - LDView normal Call
 "LDView"  PLI render call took  21474 milliseconds. 
 "LDView"  CSI render call took  1017 milliseconds  for step number  1  on page number  1

You can see the overall elapsed time was 22,491 milliseconds for the normal call where every bom part is rendered by an individual call. With a single call for the entire bom, the overall elapsed time is reduced to 5,583 milliseconds.  Big Grin

Test model used:
   

Very big thanks to Travis for his guidance.

P.S. The next release of LPub3D is imminent - wrapping up testing.
Cheers !


RE: LPub3D Rendering Performance Improvement - Merlijn Wissink - 2016-06-08

Sounds great!
Thanks for all your work on LPub3D. It's really appreciated Smile