Hi Simon,

On Fri, Jul 3, 2009 at 11:35 AM, Simon Loic<[email protected]> wrote:
> Thanks Robert for trying to  get into the problem.
> I wanted to let it "opened" in order to get as many opinion/possible
> oprimizations as possible.

I'm afraid we don't all have to time to write treaties on the topics
of performance optimization - it's a huge topic.

> To be truly honest I have a real problem with specific conditions.
> Many instances refers to hundreds of them.

OK, so traversals shouldn't be too slow then, so you shouldn't need to
batch more coasely.  It might be that you might want to divide your
scene graph up more for better culling performance, and a existing
modest number of scene graph nodes will give you scope to do this.

> Large geometries are about 10 000 to 100 000 vertices.
> All the instances have the same geometry (which is static), and the same
> stateset.

The data being shared and static makes things pretty easy.  100,000
vertices will comfortable sit on the graphics card, and VBO's would be
able to handle it.  The modest number of instances of this geometry
would mean that the cost overhead of traversal and dispatch to OpenGL
will be low so there is no need to resort to instances, it simply
won't be required.

The only thing you might want to look at is breaking up your
geometries spatially to keep the vertex count a bit more modest and
the geometry chunks smaller to aid view frustum culling.  If you
expect to see a big percentage of your geometries on screen at one
time and this breaks frame then you should consider using LOD's to
manage scene complexity.

The other thing to look at is make your geometry efficient by using
DrawElementsUShort/DrawElementUInt where possible, remove duplicate
vertices's, tri-strip the geometry etc.

Robert.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to