From 96ea1903c5a065500a2fc0e3e70a195922613a73 Mon Sep 17 00:00:00 2001 From: elsid Date: Wed, 1 Feb 2023 22:01:53 +0100 Subject: [PATCH] Delay OSG stats reporting for 3 frames Instead of 2 to make sure GPU draw time taken is always reported. --- apps/openmw/engine.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/openmw/engine.cpp b/apps/openmw/engine.cpp index eeb2d8ae0d..94070527da 100644 --- a/apps/openmw/engine.cpp +++ b/apps/openmw/engine.cpp @@ -939,14 +939,16 @@ void OMW::Engine::go() if (stats) { + constexpr unsigned statsReportDelay = 3; const auto frameNumber = mViewer->getFrameStamp()->getFrameNumber(); - if (frameNumber >= 2) + if (frameNumber >= statsReportDelay) { - mViewer->getViewerStats()->report(stats, frameNumber - 2); + const unsigned reportFrameNumber = frameNumber - statsReportDelay; + mViewer->getViewerStats()->report(stats, reportFrameNumber); osgViewer::Viewer::Cameras cameras; mViewer->getCameras(cameras); for (auto camera : cameras) - camera->getStats()->report(stats, frameNumber - 2); + camera->getStats()->report(stats, reportFrameNumber); } }