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

Reply via email to