When I have profiled in the past using CodeAnalyst Group::traverse was indeed a high-traffic method. I have a more recent profile listed here:

CS:EIP Symbol + Offset 64-bit Timer samples
0x498920  osg::Group::removeChildren                               2015
0x498c20  osg::Group::insertChild                                  485
0x42a880  osg::State::setTexCoordPointer                           424
0x5032f0  osg::Transform::computeBound                             349
0x4219a0  osg::AnimationPath::write                                341
0x422f10  osg::AnimationPath::getInterpolatedControlPoint          290
0x41d430  osg::Matrix3::operator=                                  271
0x49dc50  osg::ImageSequence::imageIndex                           212
0x41f030  osg::Camera::DrawCallback::DrawCallback                  211
0x4bf6b0  osg::Node::getOrCreateStateSet                           184
0x41a510  osg::CameraView::`copy constructor closure'              184
0x41f2b0  osg::AnimationPathCallback::update                       167
0x413de0  osg::Matrixd::postMult                                   160
0x496430  osg::GraphicsContext::getOrCreateCompileContext          152
0x4b8c10  osg::Matrixd::orthoNormalize                             149
0x41e940  osg::FlushDeletedGLObjectsOperation::operator=           147
0x42a800  osg::PositionAttitudeTransform::accept                   134
0x4bf5d0  osg::Node::setStateSet                                   131
0x498720  osg::Group::releaseGLObjects                             130
0x4d36f0  osg::Quat::makeRotate                                    129
0x503980  osg::computeLocalToEye                                   127
0x414280  osg::Matrixd::transform3x3                               107
0x413f60  osg::Matrixd::preMult                                    104

23 functions, 953 instructions, Total: 6603 samples, 64.15% of samples in the module, 16.48% of total session samples


This is a profile of a space ship game we are making which consists of many nodes and makes use of the kdtree and collision detection. I am getting latest version today and will post back (I'll profile with these optimizations as well).

It should be noted that we are experiencing problems with some of the optimization flags (e.g. crashes, particals in wrong place, and seams in textures). So I'll be sure to put stress on this optimization and let you know if anything breaks.

For anyone interested I believe these optimizations are stable:
osgUtil::Optimizer::REMOVE_LOADED_PROXY_NODES |
 osgUtil::Optimizer::COMBINE_ADJACENT_LODS |
 osgUtil::Optimizer::SHARE_DUPLICATE_STATE |
 osgUtil::Optimizer::MERGE_GEOMETRY |
 osgUtil::Optimizer::CHECK_GEOMETRY |
 osgUtil::Optimizer::OPTIMIZE_TEXTURE_SETTINGS |
 osgUtil::Optimizer::STATIC_OBJECT_DETECTION;

I'll have to painfully work out which of the others are not.  :(

p.s. I've created a subject name, since there previously was not one.
James Killian

----- Original Message ----- From: Michael Platings
To: OpenSceneGraph Submissions
Sent: Monday, May 04, 2009 12:48 PM
Subject: [osg-submissions] (no subject)


Hi Robert,
further to the discussion on Visual C++ checked iterators, I've done some profiling which suggests that Group::traverse and Polytope::setAndTransformProvidingInverse are the two functions that would benefit most from some trivial optimisation. I've attached the changes I've made, which should be fairly uncontroversial. For the benefit of those who can disable checked iterators, I've added an option for CMake.
Thanks

______________________________________________________________________
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________




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

Reply via email to