From 2d2e7835952fd25a1ad8a76ece45b54185d7bdb0 Mon Sep 17 00:00:00 2001 From: Beq Date: Tue, 7 Jun 2022 16:31:10 +0100 Subject: [PATCH] Fix Idle time underreading. --- indra/newview/llappviewer.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 751305118d..f9361c7a88 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1649,9 +1649,9 @@ bool LLAppViewer::doFrame() // // FIRE-22297: FPS limiter not working properly on Mac/Linux LLTimer frameTimer; + {FSPerfStats::RecordSceneTime T (FSPerfStats::StatType_t::RENDER_IDLE); // perf stats nd::etw::logFrame(); // Write the start of each frame. Even if our Provider (Firestorm) would be enabled, this has only light impact. Does nothing on OSX and Linux. - {FSPerfStats::RecordSceneTime T (FSPerfStats::StatType_t::RENDER_IDLE); // perf stats { LL_PROFILE_ZONE_NAMED_CATEGORY_APP("df LLTrace"); if (LLFloaterReg::instanceVisible("block_timers")) @@ -1667,9 +1667,9 @@ bool LLAppViewer::doFrame() //clear call stack records LL_CLEAR_CALLSTACKS(); - } // perf stats + } // perf stats (close NonRender/IDLE tracking starting at event pump) { - {FSPerfStats::RecordSceneTime T (FSPerfStats::StatType_t::RENDER_IDLE); // ensure we have the entire top scope of frame covered + {FSPerfStats::RecordSceneTime T (FSPerfStats::StatType_t::RENDER_IDLE); // ensure we have the entire top scope of frame covered (input event and coro) LL_PROFILE_ZONE_NAMED_CATEGORY_APP( "df processMiscNativeEvents" ) pingMainloopTimeout("Main:MiscNativeWindowEvents"); @@ -1717,7 +1717,7 @@ bool LLAppViewer::doFrame() // give listeners a chance to run llcoro::suspend(); } - }// ensure we have the entire top scope of frame covered + }// ensure we have the entire top scope of frame covered (close input event and coro "idle") if (!LLApp::isExiting()) { @@ -1751,12 +1751,12 @@ bool LLAppViewer::doFrame() // Update state based on messages, user input, object idle. { - FSPerfStats::RecordSceneTime T (FSPerfStats::StatType_t::RENDER_IDLE); LL_PROFILE_ZONE_NAMED_CATEGORY_APP( "df pauseMainloopTimeout" ) pauseMainloopTimeout(); // *TODO: Remove. Messages shouldn't be stalling for 20+ seconds! } { + FSPerfStats::RecordSceneTime T (FSPerfStats::StatType_t::RENDER_IDLE); LL_PROFILE_ZONE_NAMED_CATEGORY_APP("df idle"); //LL_RECORD_BLOCK_TIME(FTM_IDLE); idle(); }