[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