Link Branch Release rendering speed deterioration

Report observations made with the new Toponaming branch.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
User avatar
easyw-fc
Veteran
Posts: 3630
Joined: Thu Jul 09, 2015 9:34 am

Link Branch Release rendering speed deterioration

Post by easyw-fc »

Hi @realthunder
with FC LB 2022.07.09 I have a high performance in rendering speed compared to FC main branch 30716...
(I have a GPU which is highly involved (up to 85%) when the model is moved with the turntable)
the testing file AriaMech.step

FC LB 2022.07.09
Image

FC main branch
Image


the turntable animation of the same file is 8fps in FC main compared to 60fps in FC LB 2022.07.09

but with FC LB 2022.10.21 this performance has been deteriorated from 60fps to 10fps in FC LB 2022.10.21

Image

What has changed in the latest release?
I have checked both:
- Use software OpenGL
- Use OpenGL VBO
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Link Branch Release rendering speed deterioration

Post by realthunder »

It looks like you are not using the 'Experiemental' render caching? On my computer using 'Auto' caching, your model can run at about 35fps, while 'Experiemental' can be twice as fast or faster as it is limited by the monitor refreshing rate. There is some kind of warming up effect, only slightly though. When the model is freshly loaded, it generally draws about 10fps slower. After I've made a few clicks to the model, it improves. Not sure about the actual cause. Can you confirm that you are using the 'Auto' caching in 0709 release to get the 60fps? What kind of graphics card are you using?

If you are using the 'Experimental' caching, you'll see an extra 'draw call' statistics beside fps. BTW, If you have a model with lots of small parts, you can increase the Preferences -> Display -> 3D view -> Cache merge threshold, say 100, to reduce the number of draw calls and increase render speed, at the cost of more graphics memory.

I did made some changes and fixes to the renderer, but it shouldn't have much impact on performance.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
User avatar
easyw-fc
Veteran
Posts: 3630
Joined: Thu Jul 09, 2015 9:34 am

Re: Link Branch Release rendering speed deterioration

Post by easyw-fc »

realthunder wrote: Fri Oct 28, 2022 8:44 am It looks like you are not using the 'Experiemental' render caching? On my computer using 'Auto' caching, your model can run at about 35fps, while 'Experiemental' can be twice as fast or faster as it is limited by the monitor refreshing rate.
I'm using Auto both on 2022.07.09 and 2022.10.21
Switching to Experimental I can reach to 60fps also on 2022.10.21
Can you confirm that you are using the 'Auto' caching in 0709 release to get the 60fps?
yes, in 2022.07.09 I can reach 60fps both on Auto and Experimental.
w Experimental and Cache to 100 I get 583 draw calls
If you are using the 'Experimental' caching, you'll see an extra 'draw call' statistics beside fps. BTW, If you have a model with lots of small parts, you can increase the Preferences -> Display -> 3D view -> Cache merge threshold, say 100, to reduce the number of draw calls and increase render speed, at the cost of more graphics memory.
that's interesting... here the result on 2022.10.21 changing the threshold from 0 to 100 I get 8580 calls compared to 583 calls, fps still remains to 60fps
What kind of graphics card are you using?
NVIDIA GTX1650 4GB
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Link Branch Release rendering speed deterioration

Post by realthunder »

60fps is probably your monitor refreshing rate. Since we lock the draw refresh to vsync, that's the best you can get, so reducing draw calls won't help here. You'll see difference with big complex models (note, model with many small parts). The 'Auto' uses legacy OpenGL display list for caching implemented by Coin3D. I find its performance not that great and unstable. What I don't get is how you can get Auto caching to run that fast. I tried on both releases, and didn't find any discrepancy.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
User avatar
easyw-fc
Veteran
Posts: 3630
Joined: Thu Jul 09, 2015 9:34 am

Re: Link Branch Release rendering speed deterioration

Post by easyw-fc »

realthunder wrote: Fri Oct 28, 2022 9:55 am 60fps is probably your monitor refreshing rate. Since we lock the draw refresh to vsync, that's the best you can get, so reducing draw calls won't help here.
you are right, it is 60Hz
realthunder wrote: Fri Oct 28, 2022 9:55 am You'll see difference with big complex models (note, model with many small parts). The 'Auto' uses legacy OpenGL display list for caching implemented by Coin3D. I find its performance not that great and unstable. What I don't get is how you can get Auto caching to run that fast. I tried on both releases, and didn't find any discrepancy.
I cannot explain it too...
anyway experimental seems very good in general, but it has some issues in displaying
i.e. with App::AnnotationLabel and adding a texture to the scene
Edit: and w/ Glass wb
Post Reply