Hi All,
I have been working on performance issues because after we ported our
engine to OSG2.7.6 we lost some performance.
In my tests I am using a complex town database which is pretty
representative for our applications. I use osgviewer for the tests.
I tested with several versions of OSG starting from 0.99 and I observe a
gradual degredation of performance from 0.99 to 2.7.6
Most notably, the frame rate I get in 2.7.6 with
CullThreadPerCameraDrawThreadPerContex is not any better than one I get
from OSG0.99. Other threading modes give even worse results.
It is expected that thread syncronization adds some overhead but I was
hoping to get overall better performance from new multithreading models.
Here are some of my observations:
- From SVN revision 7327 to 7328 a significant loss of cull performance
is observed. I found out that this is due to the addition of
#define OSGUTIL_RENDERBACKEND_USE_REF_PTR
I made some tests and measured following for SingleThreaded case:
in 7327 cull time is ~1.15
in 7328 cull time is ~1.65
in 7328 where thread safe ref/unref is turned off cull time is ~1.35
- cull time gets even worse from 7328 onward. In latest SVN version I
have 1.95 ms in SingleThreaded mode. I couldn't find yet where the
performance loss occurs.
- A similar performance loss is observable in draw times but I didn't
have time yet to look closer at it.
Did anybody else compared old OSG versions to newer ones? How was your
results?
Tugkan
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org