Hi All,

A couple of months back I introduced a set of macros to
include/osg/Notify that added an if (needs notify) osg::notify(level)
construct that enables the runtime to avoid doing the stream calls
associated with debug output.  Normally debug output is directed to a
null stream so eaten, but under Windows even this hits the iostream's
global mutex so was more of a performance bottleneck that would
outwardly expect, so adding the if() block enables the stream
functions to be bypassed completely when the stream was to be ignored
anyway.

To access this feature one has to use the OSG_INFO/OSG_NOTICE etc.
macros in place of osg::notify(osg::INFO) etc, originally I did the
key files that were hit most commonly each frame and left the rest of
OSG using osg::notify(), but today I completed the job.  OOhh what a
job it was, 368 files modified, many automatically using scripts, but
every single line had to be reviewed by hand, and with quite a few
files hand modified to make sure the new macro usage didn't interfere
with program behavior.

Given the broad scope of the changes I would very much appreciate
testing of svn/trunk out in the community - both compile and runtime.
I've reviewed the changes as much as I can, and compiled what
components I can, but I can't cover everything as some plugins are
platform specific, these will need testing especially.

Thanks in advance for your help,
Robert.
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to