<div dir="ltr"><div><div>Hi Ale,<br><br></div>Having many thousands of transform in the scene graph will be very expensive on cull performance as each transform require the view frustum, modelview and projection matrices and other cull paramters to be cloned and transformed into the local coordinate frame.  Thosudans of transforms and performance is likely to be fine, ten's of thousands are you'll likely start overwhleming the cull traversal.</div><div><br></div><div>How best to tackle the task will depend upon the exact nature of the scene you are trying to represent.  Other that a CAD model you haven't provided any description of what you have so at this point I can't recommend the best route forward.<br></div><div><br></div><div>As a general note, make sure you do these tests with release build as debug totally throws off CPU times and can easily be 10 to 100x slower (depending on compiler suite and type of operation.)<br></div><div><br></div>Robert.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 22 September 2017 at 10:44, Ale Maro <span dir="ltr"><<a href="mailto:sasha71@teletu.it" target="_blank">sasha71@teletu.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
until now I improved visualization performance of my application in several way thanks to your suggestions.<br>
Now I would like to go another step ahead.<br>
<br>
May be this is common topics but it is not clear to me how to solve it.<br>
<br>
I have a CAD-like application.<br>
Potentially a scene can contain objects with thousand of sub-objects, each one can be managed separately (e.g. I can select, modify or delete a sub-object). This means that the scene contains nodes with thousand of children and each children is a MatrixTransform with a geometry children.<br>
Typically children are small geometries and root nodes can be huge geometries.<br>
<br>
I would like to improve frame rate for this type of scene.<br>
<br>
What I see in a sample scene is (view is single threaded):<br>
<br>
Cull: ~897 (after some time often it go down to 300/400, I do not know why)<br>
Draw: ~37<br>
GPU: ~20<br>
Frame rate: 1 FPS<br>
<br>
The same scene merged in one node gives me:<br>
<br>
Cull: ~0.30<br>
Draw: ~0.45<br>
GPU: ~29<br>
Frame rate: 32 FPS<br>
<br>
Do you think I can improve the performance without merging nodes?<br>
<br>
Thanks a lot.<br>
<br>
Ale<br>
<br>
------------------<br>
Read this topic online here:<br>
<a href="http://forum.openscenegraph.org/viewtopic.php?p=72047#72047" rel="noreferrer" target="_blank">http://forum.openscenegraph.<wbr>org/viewtopic.php?p=72047#<wbr>72047</a><br>
<br>
<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.<wbr>openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.<wbr>org/listinfo.cgi/osg-users-<wbr>openscenegraph.org</a><br>
</blockquote></div><br></div>