diff --git a/src/osgProducer/ViewerEventHandler.cpp b/src/osgProducer/ViewerEventHandler.cpp index 3bd0b0c71..9f5384276 100644 --- a/src/osgProducer/ViewerEventHandler.cpp +++ b/src/osgProducer/ViewerEventHandler.cpp @@ -440,13 +440,6 @@ void ViewerEventHandler::StatsAndHelpDrawCallback::displayStats() if (_veh->getFrameStatsMode()>=ViewerEventHandler::CAMERA_STATS) { - TextList::iterator itr; - for(itr=_statsLabelList.begin(); - itr!=_statsLabelList.end(); - ++itr) - { - (*itr)->draw(*(sv->getState())); - } double updateTime = 0.0; std::fill(_cullTimes.begin(),_cullTimes.end(),0.0); @@ -471,6 +464,7 @@ void ViewerEventHandler::StatsAndHelpDrawCallback::displayStats() _updateTimeText->draw(*(sv->getState())); + TextList::iterator itr; CameraTimes::iterator titr; for(itr=_cullTimeText.begin(),titr = _cullTimes.begin(); itr!=_cullTimeText.end() && titr!=_cullTimes.end(); @@ -504,6 +498,16 @@ void ViewerEventHandler::StatsAndHelpDrawCallback::displayStats() (*itr)->draw(*(sv->getState())); } } + + for(itr=_statsLabelList.begin(); + itr!=_statsLabelList.end(); + ++itr) + { + if (gpuTimingsValid || ((*itr)->getName()!="GPU")) + { + (*itr)->draw(*(sv->getState())); + } + } } if (_veh->getFrameStatsMode()>=ViewerEventHandler::SCENE_STATS) @@ -797,6 +801,7 @@ void ViewerEventHandler::StatsAndHelpDrawCallback::createStatsText() osgText::Text* gpuLabel = new osgText::Text; gpuLabel->setFont("fonts/arial.ttf"); + gpuLabel->setName("GPU"); gpuLabel->setColor(colorGPU); gpuLabel->setFontResolution((unsigned int)characterSize,(unsigned int)characterSize); gpuLabel->setCharacterSize(characterSize);