[osg-users] Slow down with shared nodes

Robert Osfield robert.osfield at gmail.com
Wed Mar 8 00:31:25 PST 2017


Hi Andre,

On 8 March 2017 at 07:59, Andre Normann <andre.normann at gmail.com> wrote:
> Hi Robert,
>
> when I use display lists instead of vertex buffer objects (using
> osgUtil::GLObjectsVisitor), everything is fine with 3.4.0.

Good to hear you've been able to get the performance back.

It doesn't quite get to the bottom of what is going on, but does give
us some more clues.  Use of VBO's shouldn't affect performance as much
as you've seen, it can increase the draw dispatch overhead for models
with a very large number of osg::Geometry, but for scenes with a
moderate number of osg::Geometry and large number of vertices one
normally sees a performance improvement.

I have never see the scale of performance with use of VBO's, so
something is happening somewhere in your scene graph or in the way the
OSG is handling it so cause this massive increasing in the draw
dispatch overhead.  Unfortunately we don't yet have enough clues to
know what it might be.

Is there any chance that the osg::Geometry have vertex arrays that are
set as dynamic/updated per frame?  I'm just clutching at straws as
downloading the VBO's on every frame would increase the draw dispatch
time.

Another possibility is that the GL driver is buggy and in certain
combinations of usage falls off it's fast paths.  What is the hardware
and drivers that you are using?

Robert.



More information about the osg-users mailing list