Hi Guys,
Its really interesting observation about this 3 ms bind time. I suspect this
might be a shadow map. 3 ms could be actually a time needed for shadow map
rendering stage to finish ...
If you are desperate you may consider building the database used only for
shadow casting (and using proper Casts & Receives node masks to select it).
Such database can be stripped from allmost all textures (only translucent
textures are needed) and many other state attribs. Then it can be probably
optimized till it hurts. Allmost all geometry can be probably put into
single indexed triangle set. If you got coplanar geometry - some of it can
be removed. Of course such stripping the DB may be a challenge, but I
believe J-S have done this already ;-)...
Wojtek Lewandowski
-----Oryginalna wiadomość-----
From: Ramy Gowigati
Sent: Friday, January 28, 2011 4:38 PM
To: osg-users@lists.openscenegraph.org
Subject: Re: [osg-users] Optimizing scene structure and geometry
Hi,
I am in the same stage now, optimizing a shadowed scene that is 1.5M
triangles big (according to the stats).
I did several optimizations, but still no where near what I am targeting
for. Its the same, large outdoor scene, but in my case everything is fairly
static. And the camera navigates around and in some areas the camera can see
pretty much all the scene, and that is where the performance plummets pretty
fast!
I tried to minimize the StateSets in my models when I load them. I simply
grouped together the geometry that use a common StateSets. That helped in
terms of StateSet changes and FPS time (I can't find my stats that I wrote
down back then at the moment).
Also we created LODs on the high res models, that cut down a lot of tri's,
but still not the performance we want. Something useful I found was to place
an OcclusionQuery node on my models and hide them out when they are being
occluded by another building or a small part of them is not shown.
But recently (and the most interesting to me so far), I tried out the nVidia
nSight tool. I ran my application and it gave me a detailed analysis of the
OpenGL calls and the min, max and agv. timing they took. So I discovered one
of the glBindTexture commands took over 3 milliseconds! That was the highest
since the average was somewhere around 0.5-0.7. Did anybody by any chance
use nSight and saw how useful it is in the optimizing process? I will play
around more on this tool and see what I can do.
I hope these suggestions would help if you haven't already tried them.
Always looking for new optimization techniques :D
Cheers,
Ramy
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=36116#36116
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org