[osg-users] Slow down with shared nodes

Robert Osfield robert.osfield at gmail.com
Tue Mar 7 09:10:56 PST 2017


Hi André,

Thanks for the screenshots.  They tells us it's the draw dispatch that
is gating performance, so the question now moves to why draw dispatch
is so slow in this case.

Are you running the osgUtil::Optimizer on your scene graph?

Could you run the tests with SingleThreaded threading model?

There may be chance that a bug fix to the OSG somewhere has tightened
up the assumptions it makes about threading.  That's just a guess
though, there still is too few titbits of information to know what the
cause is.

Robert.



On 7 March 2017 at 16:40, Andre Normann <andre.normann at gmail.com> wrote:
> Hi Robert,
>
> some more screenshots. This time without any other model.
>
> 3.2.3_1: My application using 3.2.3 and sharing nodes
> 3.4.0_1: My application using 3.4.0 and sharing nodes
> 3.4.0_2: My application using 3.4.0 without sharing nodes
>
> Best regards,
> André
>
>
> 2017-03-07 17:27 GMT+01:00 Andre Normann <andre.normann at gmail.com>:
>>
>> Hi Robert,
>>
>> I attached two screenshots. As you can see, I am doing nothing fancy here.
>> There is a VirtualPlanetBuilder model present in the scene, but this model
>> is hidden for my test case. The test scene contains only some thousand
>> triangles and I am using a GeForce 1080 which can handle much more.
>> Currently I have no idea what is going wrong here.
>>
>> -André
>>
>>
>> 2017-03-07 11:33 GMT+01:00 Robert Osfield <robert.osfield at gmail.com>:
>>>
>>> Hi André,
>>>
>>> I can't think of any changes between 3.2.x and 3.4.0 that would cause
>>> a slow down like you are describing.
>>>
>>> The best way to start looking at what might be the cause would be to
>>> isolate what part of the application is the bottleneck, the first step
>>> would be to use on the on screen stats and then look at the costs of
>>> the update, event, cull, draw dispatch and draw GPU phases.
>>>
>>> Also have a look at the full stats with to see if there is a different
>>> number of nodes or state being rendered in the two cases.
>>>
>>> Robert.
>>>
>>>
>>>
>>> On 7 March 2017 at 08:21, Andre Normann <andre.normann at gmail.com> wrote:
>>> > Hi,
>>> >
>>> > I am currently migrating from OpenSceneGraph 3.2.3 to 3.4.0. In my
>>> > application I get a significant slow down, when I share nodes. Here is
>>> > a
>>> > quick example layout of my scenegraph:
>>> >
>>> >
>>> > Parent
>>> >   |
>>> >   + ---> MatrixTransform1 --> Node1
>>> >   |
>>> >   + ---> MatrixTransform2 --> Node1
>>> >   |
>>> >   ...
>>> >   |
>>> >   + ---> MatrixTransform3 --> Node1
>>> >
>>> > I have a root node with several MatrixTransforms. The nodes below the
>>> > MatrixTransforms are shared. In 3.2.3 everything works well and I have
>>> > a
>>> > framerate of 60 Hz. In 3.4.0 the framerate drops with each new added
>>> > MatrixTransform. But when I do not share the nodes and instead create
>>> > clones
>>> > with a DEEP_COPY_ALL flag, everything is well in 3.4.0.
>>> >
>>> > So what could cause the slow down in 3.4.0 with node sharing?
>>> >
>>> > I am using OpenSceneGraph 3.2.3/3.4.0 with a release build on Window 7.
>>> >
>>> >
>>> > Best regards,
>>> > André
>>> >
>>> >
>>> > _______________________________________________
>>> > osg-users mailing list
>>> > osg-users at lists.openscenegraph.org
>>> >
>>> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>> >
>>> _______________________________________________
>>> osg-users mailing list
>>> osg-users at lists.openscenegraph.org
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
>
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>



More information about the osg-users mailing list