[osg-users] I created 10000 cylinder, osg run very slow

Sebastian Messerschmidt sebastian.messerschmidt at gmx.de
Wed Jul 22 00:25:11 PDT 2015


Hi,
> Hi,
>
> I need to use cylinder to simulate the “ladder”.  So there are many cylinder to create. I new a osg::Geode , and then use it to new 10000 osg::MatrixTransform, all these osg::MatrixTransform were added to one group.
>
> But the program runs very very slow.
Are you testing in debug mode?
> In fact I create the same scene using opengl, the program runs quickly.
Are you using the osg::Shapedrawable for the cylinder shape? Try to 
replace it with a simple triangle for testing to see if the geometry or 
the transforms are your bottleneck.

I'd use hw-instancing for this amount of copies of a simple geometry or 
bake the transformations into big geometries representing hundreds of 
cylinders each.

Also if the 10000 elements are spatially separable and thus not all of 
them in the view at the same time you should use some grouping to 
balance your scenegraph. Simply putting 10000 transforms into one group 
most likely will kill performance, as all children will have to be 
traversed each frame.


>
> How can I upgrade my program?
> thanks.
Can you provide a more detailed description or an example? Your question 
is too open to get you specific answers.
>
> Thank you!
>
> Cheers,
> LUO
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=64386#64386
>
>
>
>
> Attachments:
> http://forum.openscenegraph.org//files/mfc_osg_124.cpp
>
>
> _______________________________________________
> 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