From 4622be4cef62c192579d2076f25b9c96b0cb2da1 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Fri, 26 Apr 2019 22:51:22 -0500 Subject: [PATCH] Clear sim stats upon stats stat update in new region. --- indra/newview/llviewermessage.cpp | 43 ++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 919fdf45e..6c0499ffc 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5580,7 +5580,48 @@ void process_health_message(LLMessageSystem *mesgsys, void **user_data) void process_sim_stats(LLMessageSystem *msg, void **user_data) -{ +{ + static LLHost sLastHost; + if (msg->getSender() != sLastHost) + { + sLastHost = msg->getSender(); + LLViewerStats::getInstance()->mSimTimeDilation.reset(); + LLViewerStats::getInstance()->mSimFPS.reset(); + LLViewerStats::getInstance()->mSimPhysicsFPS.reset(); + LLViewerStats::getInstance()->mSimAgentUPS.reset(); + LLViewerStats::getInstance()->mSimFrameMsec.reset(); + LLViewerStats::getInstance()->mSimNetMsec.reset(); + LLViewerStats::getInstance()->mSimSimOtherMsec.reset(); + LLViewerStats::getInstance()->mSimSimPhysicsMsec.reset(); + LLViewerStats::getInstance()->mSimAgentMsec.reset(); + LLViewerStats::getInstance()->mSimImagesMsec.reset(); + LLViewerStats::getInstance()->mSimScriptMsec.reset(); + LLViewerStats::getInstance()->mSimObjects.reset(); + LLViewerStats::getInstance()->mSimActiveObjects.reset(); + LLViewerStats::getInstance()->mSimMainAgents.reset(); + LLViewerStats::getInstance()->mSimChildAgents.reset(); + LLViewerStats::getInstance()->mSimActiveScripts.reset(); + LLViewerStats::getInstance()->mSimScriptEPS.reset(); + LLViewerStats::getInstance()->mSimInPPS.reset(); + LLViewerStats::getInstance()->mSimOutPPS.reset(); + LLViewerStats::getInstance()->mSimPendingDownloads.reset(); + LLViewerStats::getInstance()->mSimPendingUploads.reset(); + LLViewerStats::getInstance()->mSimPendingLocalUploads.reset(); + LLViewerStats::getInstance()->mSimTotalUnackedBytes.reset(); + LLViewerStats::getInstance()->mPhysicsPinnedTasks.reset(); + LLViewerStats::getInstance()->mPhysicsLODTasks.reset(); + LLViewerStats::getInstance()->mSimSimPhysicsStepMsec.reset(); + LLViewerStats::getInstance()->mSimSimPhysicsShapeUpdateMsec.reset(); + LLViewerStats::getInstance()->mSimSimPhysicsOtherMsec.reset(); + LLViewerStats::getInstance()->mPhysicsMemoryAllocated.reset(); + LLViewerStats::getInstance()->mSimSpareMsec.reset(); + LLViewerStats::getInstance()->mSimSleepMsec.reset(); + LLViewerStats::getInstance()->mSimPumpIOMsec.reset(); + LLViewerStats::getInstance()->mSimPctScriptsRun.reset(); + LLViewerStats::getInstance()->mSimSimAIStepMsec.reset(); + LLViewerStats::getInstance()->mSimSimSkippedSilhouetteSteps.reset(); + LLViewerStats::getInstance()->mSimSimPctSteppedCharacters.reset(); + } S32 count = msg->getNumberOfBlocks("Stat"); for (S32 i = 0; i < count; ++i) {