From 1e742f10645579b36d6d8c1facb8cd64ccc3aa29 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 11 Aug 2006 12:39:42 +0000 Subject: [PATCH] Moved the OpenThreads::GetNumberOfProcessors() inside the if (_enableProcessAffinitHint) block to avoid slowing down init of apps that don't require procesor affinity. --- src/osgProducer/OsgCameraGroup.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/osgProducer/OsgCameraGroup.cpp b/src/osgProducer/OsgCameraGroup.cpp index 85debe9b1..872826ba1 100644 --- a/src/osgProducer/OsgCameraGroup.cpp +++ b/src/osgProducer/OsgCameraGroup.cpp @@ -496,14 +496,17 @@ bool OsgCameraGroup::realize() if (!_ds) _ds = osg::DisplaySettings::instance(); - unsigned int numProcessors = OpenThreads::GetNumberOfProcessors(); - if (_enableProccessAffinityHint && numProcessors>0) + if (_enableProccessAffinityHint) { - for( unsigned int i = 0; i < _cfg->getNumberOfCameras(); i++ ) + unsigned int numProcessors = OpenThreads::GetNumberOfProcessors(); + if (numProcessors>=1) { - Producer::Camera *cam = _cfg->getCamera(i); - cam->setProcessorAffinity(i % numProcessors); - } + for( unsigned int i = 0; i < _cfg->getNumberOfCameras(); i++ ) + { + Producer::Camera *cam = _cfg->getCamera(i); + cam->setProcessorAffinity(i % numProcessors); + } + } } _shvec.clear();