[osg-users] I created 10000 cylinder, osg run very slow
Sebastian Messerschmidt
sebastian.messerschmidt at gmx.de
Wed Jul 22 05:17:32 PDT 2015
Am 22.07.2015 um 14:12 schrieb Trajce Nikolov NICK:
> Hi Sebastian,
>
> few months ago I tested something (was the lighting system)
> implementation with updates via osg::Image and osg::Texture - not
> related to instancing at all, but the mentioned method. My colleague
> then did benchmarking and the update of the Image (and the texture) by
> OSG was terribly slow - the same thing using raw OpenGL calls
> out-performed the one from OSG. I also remember Robert implemented
> then the Vertex Attribute Divisor wrapper for OSG so it might really
> need example of these with various techniques ...
Thats right for data dynamically changed via texture. Static data is
incredibly fast however (I'm talking ~1mio trees @30Hz min) .
Getting slightly off-topic here, but:
Are you sure you had resizing and mipmapping disabled for the
texture/image? That is certainly a performance killer.
>
> Thanks for the ping :-)
>
> Nick
>
> On Wed, Jul 22, 2015 at 1:59 PM, Sebastian Messerschmidt
> <sebastian.messerschmidt at gmx.de
> <mailto:sebastian.messerschmidt at gmx.de>> wrote:
>
> Hi Nick,
>
> The implementation is almost to complicated. Using instancing with
> osg::Image and a texture almost beats all other implementations
> I've tested so far in terms of complexity and performance.
> Maybe we should some more examples for this to osg.
> Cheers
> Sebastian
>
>> Hi Luo,
>>
>> have a look at this paper - it is OSG related with GL calls (In
>> the latest OSG release there are OSG wrappers for most of them).
>> It will help you with large number of instancing and controlling
>> each instance separately
>>
>> http://3dcgtutorials.blogspot.com/2013/09/instancing-with-openscenegraph-part-ii.html
>>
>> Hope it helps
>> Nick
>>
>> On Wed, Jul 22, 2015 at 9:25 AM, Sebastian Messerschmidt
>> <sebastian.messerschmidt at gmx.de
>> <mailto:sebastian.messerschmidt at gmx.de>> wrote:
>>
>> 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
>> <mailto: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
>> <mailto:osg-users at lists.openscenegraph.org>
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
>>
>>
>> --
>> trajce nikolov nick
>>
>>
>> _______________________________________________
>> osg-users mailing list
>> osg-users at lists.openscenegraph.org
>> <mailto: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
> <mailto:osg-users at lists.openscenegraph.org>
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
>
>
> --
> trajce nikolov nick
>
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20150722/44946b35/attachment-0003.htm>
More information about the osg-users
mailing list