diff options
author | Richard Linden <none@none> | 2013-07-08 00:55:17 -0700 |
---|---|---|
committer | Richard Linden <none@none> | 2013-07-08 00:55:17 -0700 |
commit | d122318bef2ff0eced7641dc24f411f792bd2935 (patch) | |
tree | 7c5bfc2c60058d6f87ad9c18c08f844424f3efc9 /indra/newview | |
parent | bc7d2b76961c0397dcd108e625db4304855f4539 (diff) |
SH-4299 WIP: Interesting: High fps shown temporarily off scale in statistics console
added percentage/ratio units
added auto-range and auto tick calculation to stat bar to automate display stats
Diffstat (limited to 'indra/newview')
-rwxr-xr-x | indra/newview/llappviewer.cpp | 6 | ||||
-rwxr-xr-x | indra/newview/lldebugview.cpp | 1 | ||||
-rwxr-xr-x | indra/newview/lldebugview.h | 2 | ||||
-rwxr-xr-x | indra/newview/llfloaterjoystick.cpp | 4 | ||||
-rwxr-xr-x | indra/newview/llfloaterreporter.cpp | 2 | ||||
-rwxr-xr-x | indra/newview/lltexturectrl.h | 4 | ||||
-rwxr-xr-x | indra/newview/lltexturefetch.cpp | 14 | ||||
-rwxr-xr-x | indra/newview/lltexturefetch.h | 4 | ||||
-rwxr-xr-x | indra/newview/llviewermenu.cpp | 14 | ||||
-rwxr-xr-x | indra/newview/llviewerobjectlist.cpp | 11 | ||||
-rwxr-xr-x | indra/newview/llviewerobjectlist.h | 4 | ||||
-rwxr-xr-x | indra/newview/llviewerstats.cpp | 122 | ||||
-rwxr-xr-x | indra/newview/llviewerstats.h | 16 | ||||
-rwxr-xr-x | indra/newview/llviewerthrottle.cpp | 6 | ||||
-rwxr-xr-x | indra/newview/llworld.cpp | 15 | ||||
-rwxr-xr-x | indra/newview/pipeline.cpp | 2 | ||||
-rwxr-xr-x | indra/newview/skins/default/xui/en/floater_stats.xml | 1211 |
17 files changed, 466 insertions, 972 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index e77f793a43..5f6b183fcc 100755 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2070,8 +2070,6 @@ bool LLAppViewer::cleanup() ll_close_fail_log(); - MEM_TRACK_RELEASE - llinfos << "Goodbye!" << llendflush; // return 0; @@ -2099,11 +2097,7 @@ void watchdog_killer_callback() bool LLAppViewer::initThreads() { -#if MEM_TRACK_MEM - static const bool enable_threads = false; -#else static const bool enable_threads = true; -#endif LLImage::initClass(gSavedSettings.getBOOL("TextureNewByteRange"),gSavedSettings.getS32("TextureReverseByteRange")); diff --git a/indra/newview/lldebugview.cpp b/indra/newview/lldebugview.cpp index 1264f05d77..63dd59b020 100755 --- a/indra/newview/lldebugview.cpp +++ b/indra/newview/lldebugview.cpp @@ -55,7 +55,6 @@ static LLDefaultChildRegistry::Register<LLDebugView> r("debug_view"); LLDebugView::LLDebugView(const LLDebugView::Params& p) : LLView(p), mFastTimerView(NULL), - mMemoryView(NULL), mDebugConsolep(NULL), mFloaterSnapRegion(NULL) {} diff --git a/indra/newview/lldebugview.h b/indra/newview/lldebugview.h index 5aec77ad62..a6490c876c 100755 --- a/indra/newview/lldebugview.h +++ b/indra/newview/lldebugview.h @@ -36,7 +36,6 @@ class LLButton; class LLStatusPanel; class LLFastTimerView; -class LLMemoryView; class LLConsole; class LLTextureView; class LLFloaterStats; @@ -61,7 +60,6 @@ public: void setStatsVisible(BOOL visible); LLFastTimerView* mFastTimerView; - LLMemoryView* mMemoryView; LLConsole* mDebugConsolep; LLView* mFloaterSnapRegion; }; diff --git a/indra/newview/llfloaterjoystick.cpp b/indra/newview/llfloaterjoystick.cpp index b71ab4c53b..adcecbbb7a 100755 --- a/indra/newview/llfloaterjoystick.cpp +++ b/indra/newview/llfloaterjoystick.cpp @@ -85,7 +85,7 @@ void LLFloaterJoystick::draw() if (llabs(value) > maxbar) { F32 range = llabs(value); - mAxisStatsBar[i]->setRange(-range, range, range * 0.25f); + mAxisStatsBar[i]->setRange(-range, range); } } } @@ -106,7 +106,7 @@ BOOL LLFloaterJoystick::postBuild() if (mAxisStatsBar[i]) { mAxisStatsBar[i]->setStat(stat_name); - mAxisStatsBar[i]->setRange(-range, range, range * 0.25f); + mAxisStatsBar[i]->setRange(-range, range); } } diff --git a/indra/newview/llfloaterreporter.cpp b/indra/newview/llfloaterreporter.cpp index 35b63c5480..b42118a0c1 100755 --- a/indra/newview/llfloaterreporter.cpp +++ b/indra/newview/llfloaterreporter.cpp @@ -784,7 +784,7 @@ void LLFloaterReporter::takeScreenshot() image_in_list->createGLTexture(0, raw, 0, TRUE, LLGLTexture::OTHER); // the texture picker then uses that texture - LLTexturePicker* texture = getChild<LLTextureCtrl>("screenshot"); + LLTextureCtrl* texture = getChild<LLTextureCtrl>("screenshot"); if (texture) { texture->setImageAssetID(mResourceDatap->mAssetInfo.mUuid); diff --git a/indra/newview/lltexturectrl.h b/indra/newview/lltexturectrl.h index ad79042ef1..15ca7bed92 100755 --- a/indra/newview/lltexturectrl.h +++ b/indra/newview/lltexturectrl.h @@ -227,8 +227,4 @@ private: S32 mLabelWidth; }; -// XUI HACK: When floaters converted, switch this file to lltexturepicker.h/cpp -// and class to LLTexturePicker -#define LLTexturePicker LLTextureCtrl - #endif // LL_LLTEXTURECTRL_H diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 0390649a1c..6716391f41 100755 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -64,9 +64,9 @@ #include "bufferarray.h" #include "bufferstream.h" -bool LLTextureFetchDebugger::sDebuggerEnabled = false ; -LLTrace::SampleStatHandle<> LLTextureFetch::sCacheHitRate("texture_cache_hits"); -LLTrace::SampleStatHandle<> LLTextureFetch::sCacheReadLatency("texture_cache_read_latency"); +bool LLTextureFetchDebugger::sDebuggerEnabled = false; +LLTrace::EventStatHandle<LLUnit<F32, LLUnits::Percent> > LLTextureFetch::sCacheHitRate("texture_cache_hits"); +LLTrace::EventStatHandle<LLUnit<F64, LLUnits::Milliseconds> > LLTextureFetch::sCacheReadLatency("texture_cache_read_latency"); ////////////////////////////////////////////////////////////////////////////// @@ -1251,7 +1251,7 @@ bool LLTextureFetchWorker::doWork(S32 param) LL_DEBUGS("Texture") << mID << ": Cached. Bytes: " << mFormattedImage->getDataSize() << " Size: " << llformat("%dx%d",mFormattedImage->getWidth(),mFormattedImage->getHeight()) << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL; - sample(LLTextureFetch::sCacheHitRate, 100.f); + record(LLTextureFetch::sCacheHitRate, LLUnits::Ratio::fromValue(1)); } else { @@ -1269,7 +1269,7 @@ bool LLTextureFetchWorker::doWork(S32 param) } // fall through - sample(LLTextureFetch::sCacheHitRate, 0.f); + record(LLTextureFetch::sCacheHitRate, LLUnits::Ratio::fromValue(0)); } } @@ -2762,10 +2762,10 @@ bool LLTextureFetch::getRequestFinished(const LLUUID& id, S32& discard_level, discard_level = worker->mDecodedDiscard; raw = worker->mRawImage; aux = worker->mAuxImage; - F32 cache_read_time = worker->mCacheReadTime; + LLUnit<F32, LLUnits::Seconds> cache_read_time = worker->mCacheReadTime; if (cache_read_time != 0.f) { - sample(sCacheReadLatency, cache_read_time * 1000.f); + record(sCacheReadLatency, cache_read_time); } res = true; LL_DEBUGS("Texture") << id << ": Request Finished. State: " << worker->mState << " Discard: " << discard_level << LL_ENDL; diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h index 7fc58e230c..109f2bd401 100755 --- a/indra/newview/lltexturefetch.h +++ b/indra/newview/lltexturefetch.h @@ -309,8 +309,8 @@ private: LLMutex mQueueMutex; //to protect mRequestMap and mCommands only LLMutex mNetworkQueueMutex; //to protect mNetworkQueue, mHTTPTextureQueue and mCancelQueue. - static LLTrace::SampleStatHandle<> sCacheHitRate; - static LLTrace::SampleStatHandle<> sCacheReadLatency; + static LLTrace::EventStatHandle<LLUnit<F32, LLUnits::Percent> > sCacheHitRate; + static LLTrace::EventStatHandle<LLUnit<F64, LLUnits::Milliseconds> > sCacheReadLatency; LLTextureCache* mTextureCache; LLImageDecodeThread* mImageDecodeThread; diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index fb199ba879..9f67aad297 100755 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -475,14 +475,12 @@ void init_menus() gAttachSubMenu = gMenuBarView->findChildMenuByName("Attach Object", TRUE); gDetachSubMenu = gMenuBarView->findChildMenuByName("Detach Object", TRUE); -#if !MEM_TRACK_MEM // Don't display the Memory console menu if the feature is turned off LLMenuItemCheckGL *memoryMenu = gMenuBarView->getChild<LLMenuItemCheckGL>("Memory", TRUE); if (memoryMenu) { memoryMenu->setVisible(FALSE); } -#endif gMenuBarView->createJumpKeys(); @@ -528,12 +526,6 @@ class LLAdvancedToggleConsole : public view_listener_t toggle_visibility( (void*)gSceneView); } -#if MEM_TRACK_MEM - else if ("memory view" == console_type) - { - toggle_visibility( (void*)gDebugView->mMemoryView ); - } -#endif return true; } }; @@ -559,12 +551,6 @@ class LLAdvancedCheckConsole : public view_listener_t { new_value = get_visibility( (void*) gSceneView); } -#if MEM_TRACK_MEM - else if ("memory view" == console_type) - { - new_value = get_visibility( (void*)gDebugView->mMemoryView ); - } -#endif return new_value; } diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp index b215869a3e..8299c84663 100755 --- a/indra/newview/llviewerobjectlist.cpp +++ b/indra/newview/llviewerobjectlist.cpp @@ -95,12 +95,10 @@ extern LLPipeline gPipeline; U32 LLViewerObjectList::sSimulatorMachineIndex = 1; // Not zero deliberately, to speed up index check. std::map<U64, U32> LLViewerObjectList::sIPAndPortToIndex; std::map<U64, LLUUID> LLViewerObjectList::sIndexAndLocalIDToUUID; -LLTrace::SampleStatHandle<> LLViewerObjectList::sCacheHitRate("object_cache_hits"); +LLTrace::SampleStatHandle<LLUnit<F32, LLUnits::Percent> > LLViewerObjectList::sCacheHitRate("object_cache_hits"); LLViewerObjectList::LLViewerObjectList() { - mNumVisCulled = 0; - mNumSizeCulled = 0; mCurLazyUpdateIndex = 0; mCurBin = 0; mNumDeadObjects = 0; @@ -358,7 +356,7 @@ LLViewerObject* LLViewerObjectList::processObjectUpdateFromCache(LLVOCacheEntry* } justCreated = true; mNumNewObjects++; - sample(sCacheHitRate, 100.f); + sample(sCacheHitRate, LLUnits::Percent::fromValue(100.f)); } if (objectp->isDead()) @@ -1091,9 +1089,6 @@ void LLViewerObjectList::update(LLAgent &agent, LLWorld &world) fetchObjectCosts(); fetchPhysicsFlags(); - mNumSizeCulled = 0; - mNumVisCulled = 0; - // update max computed render cost LLVOVolume::updateRenderComplexity(); @@ -1155,8 +1150,6 @@ void LLViewerObjectList::update(LLAgent &agent, LLWorld &world) sample(LLStatViewer::NUM_OBJECTS, mObjects.size()); sample(LLStatViewer::NUM_ACTIVE_OBJECTS, idle_count); - sample(LLStatViewer::NUM_SIZE_CULLED, mNumSizeCulled); - sample(LLStatViewer::NUM_VIS_CULLED, mNumVisCulled); } void LLViewerObjectList::fetchObjectCosts() diff --git a/indra/newview/llviewerobjectlist.h b/indra/newview/llviewerobjectlist.h index 464554245e..741c7c7db9 100755 --- a/indra/newview/llviewerobjectlist.h +++ b/indra/newview/llviewerobjectlist.h @@ -170,8 +170,6 @@ public: // Statistics data (see also LLViewerStats) S32 mNumNewObjects; - S32 mNumSizeCulled; - S32 mNumVisCulled; // if we paused in the last frame // used to discount stats from this frame @@ -198,7 +196,7 @@ protected: std::vector<OrphanInfo> mOrphanChildren; // UUID's of orphaned objects S32 mNumOrphans; - static LLTrace::SampleStatHandle<> sCacheHitRate; + static LLTrace::SampleStatHandle<LLUnit<F32, LLUnits::Percent> > sCacheHitRate; typedef std::vector<LLPointer<LLViewerObject> > vobj_list_t; diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp index 244c150b29..d753619daa 100755 --- a/indra/newview/llviewerstats.cpp +++ b/indra/newview/llviewerstats.cpp @@ -64,15 +64,14 @@ namespace LLStatViewer { -LLTrace::CountStatHandle<> FPS("framesrendered"), - PACKETS_IN("packetsinstat"), - PACKETS_LOST("packetsloststat"), - PACKETS_OUT("packetsoutstat"), - TEXTURE_PACKETS("texturepacketsstat"), - TRIANGLES_DRAWN("trianglesdrawnstat"), +LLTrace::CountStatHandle<> FPS("FPS", "Frames rendered"), + PACKETS_IN("Packets In", "Packets received"), + PACKETS_LOST("packetsloststat", "Packets lost"), + PACKETS_OUT("packetsoutstat", "Packets sent"), + TEXTURE_PACKETS("texturepacketsstat", "Texture data packets received"), CHAT_COUNT("chatcount", "Chat messages sent"), IM_COUNT("imcount", "IMs sent"), - OBJECT_CREATE("objectcreate"), + OBJECT_CREATE("objectcreate", "Number of objects created"), OBJECT_REZ("objectrez", "Object rez count"), LOGIN_TIMEOUTS("logintimeouts", "Number of login attempts that timed out"), LSL_SAVES("lslsaves", "Number of times user has saved a script"), @@ -86,34 +85,35 @@ LLTrace::CountStatHandle<> FPS("framesrendered"), EDIT_TEXTURE("edittexture", "Changes to textures on objects"), KILLED("killed", "Number of times killed"), FRAMETIME_DOUBLED("frametimedoubled", "Ratio of frames 2x longer than previous"), - TEX_BAKES("texbakes"), - TEX_REBAKES("texrebakes"), - NUM_NEW_OBJECTS("numnewobjectsstat"); -LLTrace::CountStatHandle<LLUnit<F64, LLUnits::Kibibits> > KBIT("kbitstat"), - LAYERS_KBIT("layerskbitstat"), - OBJECT_KBIT("objectkbitstat"), - ASSET_KBIT("assetkbitstat"), - TEXTURE_KBIT("texturekbitstat"), - ACTUAL_IN_KBIT("actualinkbitstat"), - ACTUAL_OUT_KBIT("actualoutkbitstat"); + TEX_BAKES("texbakes", "Number of times avatar textures have been baked"), + TEX_REBAKES("texrebakes", "Number of times avatar textures have been forced to rebake"), + NUM_NEW_OBJECTS("numnewobjectsstat", "Number of objects in scene that were not previously in cache"); + +LLTrace::CountStatHandle<LLUnit<F64, LLUnits::Kilotriangles> > TRIANGLES_DRAWN("trianglesdrawnstat"); + +LLTrace::CountStatHandle<LLUnit<F64, LLUnits::Kibibits> > KBIT("Bandwidth", "Network data received"), + LAYERS_KBIT("layerskbitstat", "Network data received for layer data (terrain)"), + OBJECT_KBIT("objectkbitstat", "Network data received for objects"), + ASSET_KBIT("assetkbitstat", "Network data received for assets (animations, sounds)"), + TEXTURE_KBIT("texturekbitstat", "Network data received for textures"), + ACTUAL_IN_KBIT("actualinkbitstat", "Incoming network data"), + ACTUAL_OUT_KBIT("actualoutkbitstat", "Outgoing network data"); LLTrace::CountStatHandle<LLUnit<F64, LLUnits::Seconds> > SIM_20_FPS_TIME("sim20fpstime", "Seconds with sim FPS below 20"), SIM_PHYSICS_20_FPS_TIME("simphysics20fpstime", "Seconds with physics FPS below 20"), LOSS_5_PERCENT_TIME("loss5percenttime", "Seconds with packet loss > 5%"); -SimMeasurement<> SIM_TIME_DILATION("simtimedilation", "", LL_SIM_STAT_TIME_DILATION), - SIM_FPS("simfps", "", LL_SIM_STAT_FPS), - SIM_PHYSICS_FPS("simphysicsfps", "", LL_SIM_STAT_PHYSFPS), +SimMeasurement<> SIM_TIME_DILATION("simtimedilation", "Simulator time scale", LL_SIM_STAT_TIME_DILATION), + SIM_FPS("simfps", "Simulator framerate", LL_SIM_STAT_FPS), + SIM_PHYSICS_FPS("simphysicsfps", "Simulator physics framerate", LL_SIM_STAT_PHYSFPS), SIM_AGENT_UPS("simagentups", "", LL_SIM_STAT_AGENTUPS), SIM_SCRIPT_EPS("simscripteps", "", LL_SIM_STAT_SCRIPT_EPS), SIM_SKIPPED_SILHOUETTE("simsimskippedsilhouettesteps", "", LL_SIM_STAT_SKIPPEDAISILSTEPS_PS), - SIM_SKIPPED_CHARACTERS_PERCENTAGE("simsimpctsteppedcharacters", "", LL_SIM_STAT_PCTSTEPPEDCHARACTERS), - SIM_MAIN_AGENTS("simmainagents", "", LL_SIM_STAT_NUMAGENTMAIN), - SIM_CHILD_AGENTS("simchildagents", "", LL_SIM_STAT_NUMAGENTCHILD), + SIM_MAIN_AGENTS("simmainagents", "Number of avatars in current region", LL_SIM_STAT_NUMAGENTMAIN), + SIM_CHILD_AGENTS("simchildagents", "Number of avatars in neighboring regions", LL_SIM_STAT_NUMAGENTCHILD), SIM_OBJECTS("simobjects", "", LL_SIM_STAT_NUMTASKS), - SIM_ACTIVE_OBJECTS("simactiveobjects", "", LL_SIM_STAT_NUMTASKSACTIVE), - SIM_ACTIVE_SCRIPTS("simactivescripts", "", LL_SIM_STAT_NUMSCRIPTSACTIVE), - SIM_PERCENTAGE_SCRIPTS_RUN("simpctscriptsrun", "", LL_SIM_STAT_PCTSCRIPTSRUN), + SIM_ACTIVE_OBJECTS("simactiveobjects", "Number of scripted and/or mocing objects", LL_SIM_STAT_NUMTASKSACTIVE), + SIM_ACTIVE_SCRIPTS("simactivescripts", "Number of scripted objects", LL_SIM_STAT_NUMSCRIPTSACTIVE), SIM_IN_PACKETS_PER_SEC("siminpps", "", LL_SIM_STAT_INPPS), SIM_OUT_PACKETS_PER_SEC("simoutpps", "", LL_SIM_STAT_OUTPPS), SIM_PENDING_DOWNLOADS("simpendingdownloads", "", LL_SIM_STAT_PENDING_DOWNLOADS), @@ -122,23 +122,25 @@ SimMeasurement<> SIM_TIME_DILATION("simtimedilation", "", LL_SIM_STAT_TIME_DIL SIM_PHYSICS_PINNED_TASKS("physicspinnedtasks", "", LL_SIM_STAT_PHYSICS_PINNED_TASKS), SIM_PHYSICS_LOD_TASKS("physicslodtasks", "", LL_SIM_STAT_PHYSICS_LOD_TASKS); +SimMeasurement<LLUnit<F64, LLUnits::Percent> > SIM_PERCENTAGE_SCRIPTS_RUN("simpctscriptsrun", "", LL_SIM_STAT_PCTSCRIPTSRUN), + SIM_SKIPPED_CHARACTERS_PERCENTAGE("simsimpctsteppedcharacters", "", LL_SIM_STAT_PCTSTEPPEDCHARACTERS); + LLTrace::SampleStatHandle<> FPS_SAMPLE("fpssample"), NUM_IMAGES("numimagesstat"), NUM_RAW_IMAGES("numrawimagesstat"), NUM_OBJECTS("numobjectsstat"), NUM_ACTIVE_OBJECTS("numactiveobjectsstat"), - NUM_SIZE_CULLED("numsizeculledstat"), - NUM_VIS_CULLED("numvisculledstat"), ENABLE_VBO("enablevbo", "Vertex Buffers Enabled"), LIGHTING_DETAIL("lightingdetail", "Lighting Detail"), VISIBLE_AVATARS("visibleavatars", "Visible Avatars"), SHADER_OBJECTS("shaderobjects", "Object Shaders"), DRAW_DISTANCE("drawdistance", "Draw Distance"), PENDING_VFS_OPERATIONS("vfspendingoperations"), - PACKETS_LOST_PERCENT("packetslostpercentstat"), WINDOW_WIDTH("windowwidth", "Window width"), WINDOW_HEIGHT("windowheight", "Window height"); - + +LLTrace::SampleStatHandle<LLUnit<F32, LLUnits::Percent> > PACKETS_LOST_PERCENT("packetslostpercentstat"); + static LLTrace::SampleStatHandle<S64> CHAT_BUBBLES("chatbubbles", "Chat Bubbles Enabled"); LLTrace::SampleStatHandle<LLUnit<F64, LLUnits::Megabytes> > GL_TEX_MEM("gltexmemstat"), @@ -150,38 +152,38 @@ LLTrace::SampleStatHandle<LLUnit<F64, LLUnits::Kibibytes> > DELTA_BANDWIDTH("del SimMeasurement<LLUnit<F64, LLUnits::Milliseconds> > SIM_FRAME_TIME("simframemsec", "", LL_SIM_STAT_FRAMEMS), - SIM_NET_TIME("simnetmsec", "", LL_SIM_STAT_NETMS), - SIM_OTHER_TIME("simsimothermsec", "", LL_SIM_STAT_SIMOTHERMS), - SIM_PHYSICS_TIME("simsimphysicsmsec", "", LL_SIM_STAT_SIMPHYSICSMS), - SIM_PHYSICS_STEP_TIME("simsimphysicsstepmsec", "", LL_SIM_STAT_SIMPHYSICSSTEPMS), - SIM_PHYSICS_SHAPE_UPDATE_TIME("simsimphysicsshapeupdatemsec", "", LL_SIM_STAT_SIMPHYSICSSHAPEMS), - SIM_PHYSICS_OTHER_TIME("simsimphysicsothermsec", "", LL_SIM_STAT_SIMPHYSICSOTHERMS), - SIM_AI_TIME("simsimaistepmsec", "", LL_SIM_STAT_SIMAISTEPTIMEMS), - SIM_AGENTS_TIME("simagentmsec", "", LL_SIM_STAT_AGENTMS), - SIM_IMAGES_TIME("simimagesmsec", "", LL_SIM_STAT_IMAGESMS), - SIM_SCRIPTS_TIME("simscriptmsec", "", LL_SIM_STAT_SCRIPTMS), - SIM_SPARE_TIME("simsparemsec", "", LL_SIM_STAT_SIMSPARETIME), - SIM_SLEEP_TIME("simsleepmsec", "", LL_SIM_STAT_SIMSLEEPTIME), - SIM_PUMP_IO_TIME("simpumpiomsec", "", LL_SIM_STAT_IOPUMPTIME); + SIM_NET_TIME("simnetmsec", "", LL_SIM_STAT_NETMS), + SIM_OTHER_TIME("simsimothermsec", "", LL_SIM_STAT_SIMOTHERMS), + SIM_PHYSICS_TIME("simsimphysicsmsec", "", LL_SIM_STAT_SIMPHYSICSMS), + SIM_PHYSICS_STEP_TIME("simsimphysicsstepmsec", "", LL_SIM_STAT_SIMPHYSICSSTEPMS), + SIM_PHYSICS_SHAPE_UPDATE_TIME("simsimphysicsshapeupdatemsec", "", LL_SIM_STAT_SIMPHYSICSSHAPEMS), + SIM_PHYSICS_OTHER_TIME("simsimphysicsothermsec", "", LL_SIM_STAT_SIMPHYSICSOTHERMS), + SIM_AI_TIME("simsimaistepmsec", "", LL_SIM_STAT_SIMAISTEPTIMEMS), + SIM_AGENTS_TIME("simagentmsec", "", LL_SIM_STAT_AGENTMS), + SIM_IMAGES_TIME("simimagesmsec", "", LL_SIM_STAT_IMAGESMS), + SIM_SCRIPTS_TIME("simscriptmsec", "", LL_SIM_STAT_SCRIPTMS), + SIM_SPARE_TIME("simsparemsec", "", LL_SIM_STAT_SIMSPARETIME), + SIM_SLEEP_TIME("simsleepmsec", "", LL_SIM_STAT_SIMSLEEPTIME), + SIM_PUMP_IO_TIME("simpumpiomsec", "", LL_SIM_STAT_IOPUMPTIME); -SimMeasurement<LLUnit<F64, LLUnits::Bytes> > SIM_UNACKED_BYTES("simtotalunackedbytes", "", LL_SIM_STAT_TOTAL_UNACKED_BYTES), - SIM_PHYSICS_MEM("physicsmemoryallocated", "", LL_SIM_STAT_SIMPHYSICSMEMORY); +SimMeasurement<LLUnit<F64, LLUnits::Kilobytes> > SIM_UNACKED_BYTES("simtotalunackedbytes", "", LL_SIM_STAT_TOTAL_UNACKED_BYTES); +SimMeasurement<LLUnit<F64, LLUnits::Megabytes> > SIM_PHYSICS_MEM("physicsmemoryallocated", "", LL_SIM_STAT_SIMPHYSICSMEMORY); LLTrace::SampleStatHandle<LLUnit<F64, LLUnits::Milliseconds> > FRAMETIME_JITTER("frametimejitter", "Average delta between successive frame times"), - FRAMETIME_SLEW("frametimeslew", "Average delta between frame time and mean"), - SIM_PING("simpingstat"); + FRAMETIME_SLEW("frametimeslew", "Average delta between frame time and mean"), + SIM_PING("simpingstat"); LLTrace::EventStatHandle<LLUnit<F64, LLUnits::Meters> > AGENT_POSITION_SNAP("agentpositionsnap", "agent position corrections"); LLTrace::EventStatHandle<> LOADING_WEARABLES_LONG_DELAY("loadingwearableslongdelay", "Wearables took too long to load"); LLTrace::EventStatHandle<LLUnit<F64, LLUnits::Milliseconds> > REGION_CROSSING_TIME("regioncrossingtime", "CROSSING_AVG"), - FRAME_STACKTIME("framestacktime", "FRAME_SECS"), - UPDATE_STACKTIME("updatestacktime", "UPDATE_SECS"), - NETWORK_STACKTIME("networkstacktime", "NETWORK_SECS"), - IMAGE_STACKTIME("imagestacktime", "IMAGE_SECS"), - REBUILD_STACKTIME("rebuildstacktime", "REBUILD_SECS"), - RENDER_STACKTIME("renderstacktime", "RENDER_SECS"); + FRAME_STACKTIME("framestacktime", "FRAME_SECS"), + UPDATE_STACKTIME("updatestacktime", "UPDATE_SECS"), + NETWORK_STACKTIME("networkstacktime", "NETWORK_SECS"), + IMAGE_STACKTIME("imagestacktime", "IMAGE_SECS"), + REBUILD_STACKTIME("rebuildstacktime", "REBUILD_SECS"), + RENDER_STACKTIME("renderstacktime", "RENDER_SECS"); LLTrace::EventStatHandle<LLUnit<F64, LLUnits::Seconds> > AVATAR_EDIT_TIME("avataredittime", "Seconds in Edit Appearance"), TOOLBOX_TIME("toolboxtime", "Seconds using Toolbox"), @@ -189,8 +191,6 @@ LLTrace::EventStatHandle<LLUnit<F64, LLUnits::Seconds> > AVATAR_EDIT_TIME("avata FPS_10_TIME("fps10time", "Seconds below 10 FPS"), FPS_8_TIME("fps8time", "Seconds below 8 FPS"), FPS_2_TIME("fps2time", "Seconds below 2 FPS"); - - } LLViewerStats::LLViewerStats() @@ -378,17 +378,7 @@ void update_statistics() gTextureTimer.unpause(); } - { - static F32 visible_avatar_frames = 0.f; - static F32 avg_visible_avatars = 0; - F32 visible_avatars = (F32)LLVOAvatar::sNumVisibleAvatars; - if (visible_avatars > 0.f) - { - visible_avatar_frames = 1.f; - avg_visible_avatars = (avg_visible_avatars * (F32)(visible_avatar_frames - 1.f) + visible_avatars) / visible_avatar_frames; - } - sample(LLStatViewer::VISIBLE_AVATARS, (F64)avg_visible_avatars); - } + sample(LLStatViewer::VISIBLE_AVATARS, LLVOAvatar::sNumVisibleAvatars); LLWorld::getInstance()->updateNetStats(); LLWorld::getInstance()->requestCacheMisses(); diff --git a/indra/newview/llviewerstats.h b/indra/newview/llviewerstats.h index 879f0067b9..59d4df124b 100755 --- a/indra/newview/llviewerstats.h +++ b/indra/newview/llviewerstats.h @@ -72,7 +72,6 @@ extern LLTrace::CountStatHandle<> FPS, PACKETS_LOST, PACKETS_OUT, TEXTURE_PACKETS, - TRIANGLES_DRAWN, CHAT_COUNT, IM_COUNT, OBJECT_CREATE, @@ -93,6 +92,7 @@ extern LLTrace::CountStatHandle<> FPS, TEX_REBAKES, NUM_NEW_OBJECTS; +extern LLTrace::CountStatHandle<LLUnit<F64, LLUnits::Kilotriangles> > TRIANGLES_DRAWN; extern LLTrace::CountStatHandle<LLUnit<F64, LLUnits::Kibibits> > KBIT, LAYERS_KBIT, @@ -112,13 +112,11 @@ extern SimMeasurement<> SIM_TIME_DILATION, SIM_AGENT_UPS, SIM_SCRIPT_EPS, SIM_SKIPPED_SILHOUETTE, - SIM_SKIPPED_CHARACTERS_PERCENTAGE, SIM_MAIN_AGENTS, SIM_CHILD_AGENTS, SIM_OBJECTS, SIM_ACTIVE_OBJECTS, SIM_ACTIVE_SCRIPTS, - SIM_PERCENTAGE_SCRIPTS_RUN, SIM_IN_PACKETS_PER_SEC, SIM_OUT_PACKETS_PER_SEC, SIM_PENDING_DOWNLOADS, @@ -127,23 +125,25 @@ extern SimMeasurement<> SIM_TIME_DILATION, SIM_PHYSICS_PINNED_TASKS, SIM_PHYSICS_LOD_TASKS; +extern SimMeasurement<LLUnit<F64, LLUnits::Percent> > SIM_PERCENTAGE_SCRIPTS_RUN, + SIM_SKIPPED_CHARACTERS_PERCENTAGE; + extern LLTrace::SampleStatHandle<> FPS_SAMPLE, NUM_IMAGES, NUM_RAW_IMAGES, NUM_OBJECTS, NUM_ACTIVE_OBJECTS, - NUM_SIZE_CULLED, - NUM_VIS_CULLED, ENABLE_VBO, LIGHTING_DETAIL, VISIBLE_AVATARS, SHADER_OBJECTS, DRAW_DISTANCE, PENDING_VFS_OPERATIONS, - PACKETS_LOST_PERCENT, WINDOW_WIDTH, WINDOW_HEIGHT; +extern LLTrace::SampleStatHandle<LLUnit<F32, LLUnits::Percent> > PACKETS_LOST_PERCENT; + extern LLTrace::SampleStatHandle<LLUnit<F64, LLUnits::Megabytes> > GL_TEX_MEM, GL_BOUND_MEM, RAW_MEM, @@ -165,8 +165,8 @@ extern SimMeasurement<LLUnit<F64, LLUnits::Milliseconds> > SIM_FRAME_TIME, SIM_SLEEP_TIME, SIM_PUMP_IO_TIME; -extern SimMeasurement<LLUnit<F64, LLUnits::Bytes> > SIM_UNACKED_BYTES, - SIM_PHYSICS_MEM; +extern SimMeasurement<LLUnit<F64, LLUnits::Kilobytes> > SIM_UNACKED_BYTES; +extern SimMeasurement<LLUnit<F64, LLUnits::Megabytes> > SIM_PHYSICS_MEM; extern LLTrace::SampleStatHandle<LLUnit<F64, LLUnits::Milliseconds> > FRAMETIME_JITTER, diff --git a/indra/newview/llviewerthrottle.cpp b/indra/newview/llviewerthrottle.cpp index 34f2c8f6e6..b8de5871ea 100755 --- a/indra/newview/llviewerthrottle.cpp +++ b/indra/newview/llviewerthrottle.cpp @@ -48,8 +48,8 @@ const F32 MIN_FRACTIONAL = 0.2f; const F32 MIN_BANDWIDTH = 50.f; const F32 MAX_BANDWIDTH = 3000.f; const F32 STEP_FRACTIONAL = 0.1f; -const F32 TIGHTEN_THROTTLE_THRESHOLD = 3.0f; // packet loss % per s -const F32 EASE_THROTTLE_THRESHOLD = 0.5f; // packet loss % per s +const LLUnit<F32, LLUnits::Percent> TIGHTEN_THROTTLE_THRESHOLD = 3.0f; // packet loss % per s +const LLUnit<F32, LLUnits::Percent> EASE_THROTTLE_THRESHOLD = 0.5f; // packet loss % per s const F32 DYNAMIC_UPDATE_DURATION = 5.0f; // seconds LLViewerThrottle gViewerThrottle; @@ -304,7 +304,7 @@ void LLViewerThrottle::updateDynamicThrottle() } mUpdateTimer.reset(); - F32 mean_packets_lost = LLViewerStats::instance().getRecording().getMean(LLStatViewer::PACKETS_LOST_PERCENT); + LLUnit<F32, LLUnits::Percent> mean_packets_lost = LLViewerStats::instance().getRecording().getMean(LLStatViewer::PACKETS_LOST_PERCENT); if (mean_packets_lost > TIGHTEN_THROTTLE_THRESHOLD) { if (mThrottleFrac <= MIN_FRACTIONAL || mCurrentBandwidth / 1024.0f <= MIN_BANDWIDTH) diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index a95adbf442..d45a62b223 100755 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -711,7 +711,7 @@ void LLWorld::renderPropertyLines() void LLWorld::updateNetStats() { - F32 bits = 0.f; + LLUnit<F64, LLUnits::Bits> bits = 0.f; U32 packets = 0; for (region_list_t::iterator iter = mActiveRegionList.begin(); @@ -729,19 +729,18 @@ void LLWorld::updateNetStats() S32 packets_out = gMessageSystem->mPacketsOut - mLastPacketsOut; S32 packets_lost = gMessageSystem->mDroppedPackets - mLastPacketsLost; - S32 actual_in_bits = gMessageSystem->mPacketRing.getAndResetActualInBits(); - S32 actual_out_bits = gMessageSystem->mPacketRing.getAndResetActualOutBits(); + LLUnit<F64, LLUnits::Bits> actual_in_bits = gMessageSystem->mPacketRing.getAndResetActualInBits(); + LLUnit<F64, LLUnits::Bits> actual_out_bits = gMessageSystem->mPacketRing.getAndResetActualOutBits(); - add(LLStatViewer::ACTUAL_IN_KBIT, LLUnit<F64, LLUnits::Bits>(actual_in_bits)); - add(LLStatViewer::ACTUAL_OUT_KBIT, LLUnit<F64, LLUnits::Bits>(actual_out_bits)); - add(LLStatViewer::KBIT, LLUnit<F64, LLUnits::Bits>(bits)); + add(LLStatViewer::ACTUAL_IN_KBIT, actual_in_bits); + add(LLStatViewer::ACTUAL_OUT_KBIT, actual_out_bits); + add(LLStatViewer::KBIT, bits); add(LLStatViewer::PACKETS_IN, packets_in); add(LLStatViewer::PACKETS_OUT, packets_out); add(LLStatViewer::PACKETS_LOST, packets_lost); if (packets_in) { - F32 packet_loss = 100.f * ((F32)packets_lost/(F32)packets_in); - sample(LLStatViewer::PACKETS_LOST_PERCENT, packet_loss); + sample(LLStatViewer::PACKETS_LOST_PERCENT, LLUnits::Ratio::fromValue((F32)packets_lost/(F32)packets_in)); } mLastPacketsIn = gMessageSystem->mPacketsIn; diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index c2f5b9b861..76ecd84e11 100755 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -4686,7 +4686,7 @@ void LLPipeline::addTrianglesDrawn(S32 index_count, U32 render_type) } record(sStatBatchSize, count); - add(LLStatViewer::TRIANGLES_DRAWN, count); + add(LLStatViewer::TRIANGLES_DRAWN, LLUnits::Triangles::fromValue(count)); if (LLPipeline::sRenderFrameTest) { diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml index 0493f487d4..def660e1e4 100755 --- a/indra/newview/skins/default/xui/en/floater_stats.xml +++ b/indra/newview/skins/default/xui/en/floater_stats.xml @@ -1,838 +1,379 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - legacy_header_height="18" - can_resize="true" - height="400" - layout="topleft" - name="Statistics" - help_topic="statistics" - save_rect="true" - save_visibility="true" - title="STATISTICS" - width="260"> - <scroll_container - follows="top|left|bottom|right" - height="380" - layout="topleft" - left="0" - name="statistics_scroll" - reserve_scroll_corner="true" - top="20" - width="260"> - <container_view - follows="top|left|bottom|right" - height="378" - layout="topleft" - left="2" - name="statistics_view" - top="20" - width="245" > - <!--Basic Section--> - <stat_view - name="basic" - label="Basic" - follows="left|top|right" - show_label="true" - setting="OpenDebugStatBasic"> - <stat_bar - name="fps" - label="FPS" - unit_label="fps" - stat="framesrendered" - bar_min="0" - bar_max="60" - tick_spacing="6" - precision="1" - show_bar="true" - show_history="true"> - </stat_bar> - <stat_bar - name="bandwidth" - label="Bandwidth" - unit_label="kbps" - stat="kbitstat" - bar_min="0" - bar_max="5000" - tick_spacing="500" - precision="0" - show_bar="true" - show_history="false"> - </stat_bar> - <stat_bar - name="packet_loss" - label="Packet Loss" - unit_label=" %" - stat="packetslostpercentstat" - bar_min="0" - bar_max="5" - tick_spacing="0.5" - precision="3" - show_bar="false" - show_mean="true"> - </stat_bar> - <stat_bar - name="ping" - label="Ping Sim" - unit_label="msec" - stat="simpingstat" - bar_min="0" - bar_max="5000" - tick_spacing="500" - precision="0" - show_bar="false" - show_mean="false"> - </stat_bar> - </stat_view> - <!--Advanced Section--> - <stat_view - name="advanced" - label="Advanced" - follows="left|top|right" - show_label="true" - setting="OpenDebugStatAdvanced"> - <stat_view - name="render" - label="Render" - follows="left|top|right" - show_label="true" - setting="OpenDebugStatRender"> - <stat_bar - name="ktrisframe" - label="KTris Drawn per Frame" - unit_label="/fr" - stat="trianglesdrawnstat" - unit_scale="0.001" - bar_min="0" - bar_max="10000" - tick_spacing="1000" - precision="0" - show_per_sec="false" - show_bar="false"> - </stat_bar> - <stat_bar - name="ktrissec" - label="KTris Drawn per Sec" - unit_label="/sec" - unit_scale="0.001" - stat="trianglesdrawnstat" - bar_min="0" - bar_max="200000" - tick_spacing="25000" - precision="0" - show_bar="false"> - </stat_bar> - <stat_bar - name="objs" - label="Total Objects" - unit_label="" - stat="numobjectsstat" - bar_min="0" - bar_max="50000" - tick_spacing="5000" - precision="0" - show_bar="false"> - </stat_bar> - <stat_bar - name="newobjs" - label="New Objects" - unit_label="/sec" - stat="numnewobjectsstat" - bar_min="0" - bar_max="2000" - tick_spacing="200" - show_bar="false"> - </stat_bar> - <stat_bar - name="object_cache_hits" - label="Object Cache Hit Rate" - stat="object_cache_hits" - bar_min="0" - bar_max="100" - unit_label="%" - tick_spacing="20" - show_history="true" - show_bar="false"> - </stat_bar> - </stat_view> - <!--Texture Stats--> - <stat_view - name="texture" - label="Texture" - follows="left|top|right" - show_label="true"> - <stat_bar - name="texture_cache_hits" - label="Cache Hit Rate" - stat="texture_cache_hits" - bar_min="0.f" - bar_max="100.f" - unit_label="%" - tick_spacing="20" - show_history="true" - show_bar="false"> - </stat_bar> - <stat_bar - name="texture_cache_read_latency" - label="Cache Read Latency" - unit_label="msec" - stat="texture_cache_read_latency" - bar_min="0.f" - bar_max="1000.f" - tick_spacing="100" - show_history="true" - show_bar="false"> - </stat_bar> - <stat_bar - name="numimagesstat" - label="Count" - stat="numimagesstat" - bar_min="0.f" - bar_max="8000.f" - tick_spacing="2000.f" - show_bar="false"> - </stat_bar> - - <stat_bar - name="numrawimagesstat" - label="Raw Count" - stat="numrawimagesstat" - bar_min="0.f" - bar_max="8000.f" - tick_spacing="2000.f" - show_bar="false"> - </stat_bar> - - <stat_bar - name="gltexmemstat" - label="GL Mem" - stat="gltexmemstat" - unit_label="MB" - unit_scale="0.000001" - bar_min="0.f" - bar_max="400.f" - tick_spacing="100.f" - precision="1" - show_bar="false"> - </stat_bar> - - <stat_bar - name="formattedmemstat" - label="Formatted Mem" - stat="formattedmemstat" - unit_label="MB" - unit_scale="0.000001" - bar_min="0.f" - bar_max="400.f" - tick_spacing="100.f" - precision="3" - show_bar="false"> - </stat_bar> - - <stat_bar - name="rawmemstat" - label="Raw Mem" - unit_label="MB" - unit_scale="0.000001" - stat="rawmemstat" - bar_min="0.f" - bar_max="400.f" - tick_spacing="100.f" - precision="3" - show_bar="false"> - </stat_bar> - - <stat_bar - name="glboundmemstat" - label="Bound Mem" - stat="glboundmemstat" - unit_label="MB" - unit_scale="0.000001" - bar_min="0.f" - bar_max="400.f" - tick_spacing="100.f" - precision="3" - show_bar="false"> - </stat_bar> - </stat_view> - <!--Network Stats--> - <stat_view - name="network" - label="Network" - follows="left|top|right" - show_label="true" - setting="OpenDebugStatNet"> - <stat_bar - name="packetsinstat" - label="Packets In" - stat="packetsinstat" - unit_label="/sec" - bar_min="0.f" - bar_max="1024.f" - tick_spacing="128.f" - precision="1" - show_bar="false"> - </stat_bar> - - <stat_bar - name="packetsoutstat" - label="Packets Out" - stat="packetsoutstat" - unit_label="/sec" - bar_min="0.f" - bar_max="1024.f" - tick_spacing="128.f" - precision="1" - show_bar="false" > - </stat_bar> - - <stat_bar - name="objectkbitstat" - label="Objects" - stat="objectkbitstat" - unit_label="kbps" - bar_min="0.f" - bar_max="1024.f" - tick_spacing="128.f" - precision="1" - show_bar="false" > - </stat_bar> - - <stat_bar - name="texturekbitstat" - label="Texture" - stat="texturekbitstat" - unit_label="kbps" - bar_min="0.f" - bar_max="1024.f" - tick_spacing="128.f" - precision="1" - show_bar="false" > - </stat_bar> - - <stat_bar - name="assetkbitstat" - label="Asset" - stat="assetkbitstat" - unit_label="kbps" - bar_min="0.f" - bar_max="1024.f" - tick_spacing="128.f" - precision="1" - show_bar="false" > - </stat_bar> - - <stat_bar - name="layerskbitstat" - label="Layers" - stat="layerskbitstat" - unit_label="kbps" - bar_min="0.f" - bar_max="1024.f" - tick_spacing="128.f" - precision="1" - show_bar="false" > - </stat_bar> - - <stat_bar - name="actualinkbitstat" - label="Actual In" - stat="actualinkbitstat" - unit_label="kbps" - bar_min="0.f" - bar_max="1024.f" - tick_spacing="128.f" - precision="1" - show_bar="false" - show_history="false" > - </stat_bar> - - <stat_bar - name="actualoutkbitstat" - label="Actual Out" - stat="actualoutkbitstat" - unit_label="kbps" - bar_min="0.f" - bar_max="1024.f" - tick_spacing="128.f" - precision="1" - show_bar="false" - show_history="false"> - </stat_bar> - - <stat_bar - name="vfspendingoperations" - label="VFS Pending Operations" - stat="vfspendingoperations" - unit_label=" Ops." - show_bar="false" > - </stat_bar> - </stat_view> - </stat_view> - <!--Sim Stats--> - <stat_view - name="sim" - label="Simulator" - follows="left|top|right" - show_label="true" - setting="OpenDebugStatSim"> - <stat_bar - name="simtimedilation" - label="Time Dilation" - stat="simtimedilation" - precision="3" - bar_min="0.f" - bar_max="1.f" - tick_spacing="0.16666f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simfps" - label="Sim FPS" - stat="simfps" - precision="1" - bar_min="0.f" - bar_max="45.f" - tick_spacing="7.5f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simphysicsfps" - label="Physics FPS" - stat="simphysicsfps" - precision="1" - bar_min="0.f" - bar_max="45.f" - tick_spacing="7.5.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_view - name="physicsdetail" - label="Physics Details" - follows="left|top|right" - show_label="true"> - <stat_bar - name="physicspinnedtasks" - label="Pinned Objects" - stat="physicspinnedtasks" - precision="0" - bar_min="0.f" - bar_max="500.f" - tick_spacing="50.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="physicslodtasks" - label="Low LOD Objects" - stat="physicslodtasks" - precision="0" - bar_min="0.f" - bar_max="500.f" - tick_spacing="50.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="physicsmemoryallocated" - label="Memory Allocated" - stat="physicsmemoryallocated" - unit_label="MB" - precision="1" - bar_min="0.f" - bar_max="1024.f" - tick_spacing="128.f" - show_bar="false" - show_mean="false" > - </stat_bar> - </stat_view> - - <stat_bar - name="simagentups" - label="Agent Updates/Sec" - stat="simagentups" - precision="1" - bar_min="0.f" - bar_max="100.f" - tick_spacing="25.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simmainagents" - label="Main Agents" - stat="simmainagents" - precision="0" - bar_min="0.f" - bar_max="80.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simchildagents" - label="Child Agents" - stat="simchildagents" - precision="0" - bar_min="0.f" - bar_max="40.f" - tick_spacing="5.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simobjects" - label="Objects" - stat="simobjects" - precision="0" - bar_min="0.f" - bar_max="30000.f" - tick_spacing="5000.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simactiveobjects" - label="Active Objects" - stat="simactiveobjects" - precision="0" - bar_min="0.f" - bar_max="5000.f" - tick_spacing="750.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simactivescripts" - label="Active Scripts" - stat="simactivescripts" - precision="0" - bar_min="0.f" - bar_max="15000.f" - tick_spacing="1875.f" - show_bar="false" - show_mean="false" > - </stat_bar> - <stat_bar - name="simpctscriptsrun" - label="Scripts Run" - unit_label=" %" - stat="simpctscriptsrun" - bar_min="0" - bar_max="100" - tick_spacing="10" - precision="3" - show_bar="false" - show_mean="true"> - </stat_bar> - - <stat_bar - name="simscripteps" - label="Script Events" - stat="simscripteps" - unit_label="eps" - precision="0" - bar_min="0.f" - bar_max="5000.f" - tick_spacing="750.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_view - name="simpathfinding" - label="Pathfinding" - follows="left|top|right" - show_label="true"> - <stat_bar - name="simsimaistepmsec" - label=" AI Step Time" - stat="simsimaistepmsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - <stat_bar - name="simsimskippedsilhouettesteps" - label=" Skipped Silhouette Steps" - stat="simsimskippedsilhouettesteps" - unit_label="/sec" - precision="0" - bar_min="0" - bar_max="45" - tick_spacing="4" - show_bar="false"> - </stat_bar> - <stat_bar - name="simsimpctsteppedcharacters" - label=" Characters Updated" - unit_label=" %" - stat="simsimpctsteppedcharacters" - bar_min="0" - bar_max="100" - tick_spacing="10" - precision="1" - show_bar="false" - show_mean="true"> - </stat_bar> +<floater legacy_header_height="18" + can_resize="true" + height="400" + layout="topleft" + name="Statistics" + help_topic="statistics" + save_rect="true" + save_visibility="true" + title="STATISTICS" + width="260"> + <scroll_container follows="all" + height="380" + layout="topleft" + left="0" + name="statistics_scroll" + reserve_scroll_corner="true" + top="20" + width="260"> + <container_view follows="all" + height="378" + layout="topleft" + left="2" + name="statistics_view" + top="20" + width="245" > + <stat_view name="basic" + label="Basic" + follows="left|top|right" + show_label="true" + show_bar="true" + setting="OpenDebugStatBasic"> + <stat_bar name="fps" + label="FPS" + unit_label="frames" + stat="FPS" + decimal_digits="1" + bar_max="60" + show_bar="true" + show_history="true"/> + <stat_bar name="bandwidth" + label="Bandwidth" + stat="Bandwidth" + show_bar="true"/> + <stat_bar name="packet_loss" + label="Packet Loss" + stat="packetslostpercentstat" + decimal_digits="3"/> + <stat_bar name="ping" + label="Ping Sim" + stat="simpingstat" + show_mean="false"/> + </stat_view> + + <stat_view name="advanced" + label="Advanced" + follows="left|top|right" + show_bar="true" + show_label="true" + setting="OpenDebugStatAdvanced"> + <stat_view name="render" + label="Render" + follows="left|top|right" + show_bar="true" + show_label="true" + setting="OpenDebugStatRender"> + <stat_bar name="ktrisframe" + label="KTris per Frame" + unit_label="ktris/fr" + stat="trianglesdrawnstat" + show_per_sec="false"/> + <stat_bar name="ktrissec" + label="KTris per Sec" + stat="trianglesdrawnstat"/> + <stat_bar name="objs" + label="Total Objects" + stat="numobjectsstat"/> + <stat_bar name="newobjs" + label="New Objects" + stat="numnewobjectsstat" + bar_max="2000"/> + <stat_bar name="object_cache_hits" + label="Object Cache Hit Rate" + stat="object_cache_hits" + bar_max="100" + show_history="true"/> </stat_view> - - <stat_bar - name="siminpps" - label="Packets In" - stat="siminpps" - unit_label="pps" - precision="0" - bar_min="0.f" - bar_max="2000.f" - tick_spacing="250.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simoutpps" - label="Packets Out" - stat="simoutpps" - unit_label="pps" - precision="0" - bar_min="0.f" - bar_max="2000.f" - tick_spacing="250.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simpendingdownloads" - label="Pending Downloads" - stat="simpendingdownloads" - precision="0" - bar_min="0.f" - bar_max="800.f" - tick_spacing="100.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simpendinguploads" - label="Pending Uploads" - stat="simpendinguploads" - precision="0" - bar_min="0.f" - bar_max="100.f" - tick_spacing="25.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simtotalunackedbytes" - label="Total Unacked Bytes" - stat="simtotalunackedbytes" - unit_label="kb" - precision="1" - bar_min="0.f" - bar_max="100000.f" - tick_spacing="25000.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_view - name="simperf" - label="Time (ms)" - follows="left|top|right" - show_label="true"> - <stat_bar - name="simframemsec" - label="Total Frame Time" - stat="simframemsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simnetmsec" - label="Net Time" - stat="simnetmsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simsimphysicsmsec" - label="Physics Time" - stat="simsimphysicsmsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simsimothermsec" - label="Simulation Time" - stat="simsimothermsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simagentmsec" - label="Agent Time" - stat="simagentmsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simimagesmsec" - label="Images Time" - stat="simimagesmsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simscriptmsec" - label="Script Time" - stat="simscriptmsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - - <stat_bar - name="simsparemsec" - label="Spare Time" - stat="simsparemsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - <!--2nd level time blocks under 'Details' second--> - <stat_view - name="timedetails" - label="Time Details (ms)" - follows="left|top|right" - show_label="true"> - <stat_bar - name="simsimphysicsstepmsec" - label=" Physics Step" - stat="simsimphysicsstepmsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - <stat_bar - name="simsimphysicsshapeupdatemsec" - label=" Update Phys Shapes" - stat="simsimphysicsshapeupdatemsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - <stat_bar - name="simsimphysicsothermsec" - label=" Physics Other" - stat="simsimphysicsothermsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - <stat_bar - name="simsleepmsec" - label=" Sleep Time" - stat="simsleepmsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - <stat_bar - name="simpumpiomsec" - label=" Pump IO" - stat="simpumpiomsec" - unit_label="ms" - precision="3" - bar_min="0.f" - bar_max="40.f" - tick_spacing="10.f" - show_bar="false" - show_mean="false" > - </stat_bar> - </stat_view> - </stat_view> - </stat_view> - </container_view> - </scroll_container> + <stat_view name="texture" + label="Texture" + follows="left|top|right" + show_bar="true" + show_label="true"> + <stat_bar name="texture_cache_hits" + label="Cache Hit Rate" + stat="texture_cache_hits" + bar_max="100" + show_history="true"/> + <stat_bar name="texture_cache_read_latency" + label="Cache Read Latency" + stat="texture_cache_read_latency" + show_history="true"/> + <stat_bar name="numimagesstat" + label="Count" + stat="numimagesstat"/> + <stat_bar name="numrawimagesstat" + label="Raw Count" + stat="numrawimagesstat"/> + <stat_bar name="gltexmemstat" + label="GL Mem" + stat="gltexmemstat" + decimal_digits="1"/> + <stat_bar name="formattedmemstat" + label="Formatted Mem" + stat="formattedmemstat" + decimal_digits="3"/> + <stat_bar name="rawmemstat" + label="Raw Mem" + stat="rawmemstat" + decimal_digits="3"/> + <stat_bar name="glboundmemstat" + label="Bound Mem" + stat="glboundmemstat" + decimal_digits="3"/> + </stat_view> + + <stat_view name="network" + label="Network" + follows="left|top|right" + show_bar="true" + show_label="true" + setting="OpenDebugStatNet"> + <stat_bar name="packetsinstat" + label="Packets In" + stat="Packets In" + decimal_digits="1"/> + <stat_bar name="packetsoutstat" + label="Packets Out" + stat="packetsoutstat" + decimal_digits="1"/> + <stat_bar name="objectkbitstat" + label="Objects" + stat="objectkbitstat" + decimal_digits="1"/> + <stat_bar name="texturekbitstat" + label="Texture" + stat="texturekbitstat" + decimal_digits="1"/> + <stat_bar name="assetkbitstat" + label="Asset" + stat="assetkbitstat" + decimal_digits="1"/> + <stat_bar name="layerskbitstat" + label="Layers" + stat="layerskbitstat" + decimal_digits="1"/> + <stat_bar name="actualinkbitstat" + label="Actual In" + stat="actualinkbitstat" + decimal_digits="1"/> + <stat_bar name="actualoutkbitstat" + label="Actual Out" + stat="actualoutkbitstat" + decimal_digits="1" + show_history="false"/> + <stat_bar name="vfspendingoperations" + label="VFS Pending Operations" + stat="vfspendingoperations" + unit_label="Ops."/> + </stat_view> + </stat_view> + + <stat_view name="sim" + label="Simulator" + follows="left|top|right" + show_bar="true" + show_label="true" + setting="OpenDebugStatSim"> + <stat_bar name="simtimedilation" + label="Time Dilation" + stat="simtimedilation" + decimal_digits="3" + bar_max="1" + show_mean="false"/> + <stat_bar name="simfps" + label="Sim FPS" + stat="simfps" + decimal_digits="1" + bar_max="45" + show_mean="false"/> + <stat_bar name="simphysicsfps" + label="Physics FPS" + stat="simphysicsfps" + decimal_digits="1" + bar_max="45" + show_mean="false"/> + <stat_view name="physicsdetail" + label="Physics Details" + follows="left|top|right" + show_bar="true" + show_label="true"> + <stat_bar name="physicspinnedtasks" + label="Pinned Objects" + stat="physicspinnedtasks" + show_mean="false"/> + <stat_bar name="physicslodtasks" + label="Low LOD Objects" + stat="physicslodtasks" + show_mean="false"/> + <stat_bar name="physicsmemoryallocated" + label="Memory Allocated" + stat="physicsmemoryallocated" + decimal_digits="1" + show_mean="false"/> + </stat_view> + <stat_bar name="simagentups" + label="Agent Updates/Sec" + stat="simagentups" + decimal_digits="1" + show_mean="false"/> + <stat_bar name="simmainagents" + label="Main Agents" + stat="simmainagents" + bar_max="80" + show_mean="false"/> + <stat_bar name="simchildagents" + label="Child Agents" + stat="simchildagents" + show_mean="false"/> + <stat_bar name="simobjects" + label="Objects" + stat="simobjects" + bar_max="30000" + show_mean="false"/> + <stat_bar name="simactiveobjects" + label="Active Objects" + stat="simactiveobjects" + bar_max="5000" + show_mean="false"/> + <stat_bar name="simactivescripts" + label="Active Scripts" + stat="simactivescripts" + bar_max="15000" + show_mean="false"/> + <stat_bar name="simpctscriptsrun" + label="Scripts Run" + stat="simpctscriptsrun" + bar_max="100" + decimal_digits="3" + show_mean="true"/> + <stat_bar name="simscripteps" + label="Script Events" + stat="simscripteps" + unit_label="eps" + show_mean="false"/> + <stat_view name="simpathfinding" + label="Pathfinding" + follows="left|top|right" + show_bar="true" + show_label="true"> + <stat_bar name="simsimaistepmsec" + label="AI Step Time" + stat="simsimaistepmsec" + decimal_digits="3" + show_mean="false"/> + <stat_bar name="simsimskippedsilhouettesteps" + label="Skipped Silhouette Steps" + stat="simsimskippedsilhouettesteps" + unit_label="/sec" + bar_max="45"/> + <stat_bar name="simsimpctsteppedcharacters" + stat="simsimpctsteppedcharacters" + bar_max="100" + decimal_digits="1" + show_mean="true"/> + </stat_view> + <stat_bar name="siminpps" + label="Packets In" + stat="siminpps" + unit_label="pkt/sec" + show_mean="false"/> + <stat_bar name="simoutpps" + label="Packets Out" + stat="simoutpps" + unit_label="pkt/sec" + show_mean="false"/> + <stat_bar name="simpendingdownloads" + label="Pending Downloads" + stat="simpendingdownloads" + show_mean="false"/> + <stat_bar name="simpendinguploads" + label="Pending Uploads" + stat="simpendinguploads" + show_mean="false"/> + <stat_bar name="simtotalunackedbytes" + label="Total Unacked Bytes" + stat="simtotalunackedbytes" + decimal_digits="1" + show_mean="false"/> + <stat_view name="simperf" + label="Time" + follows="left|top|right" + show_bar="true" + show_label="true"> + <stat_bar name="simframemsec" + label="Total Frame Time" + stat="simframemsec" + decimal_digits="3" + show_mean="false"/> + <stat_bar name="simnetmsec" + label="Net Time" + stat="simnetmsec" + decimal_digits="3" + show_mean="false"/> + <stat_bar name="simsimphysicsmsec" + label="Physics Time" + stat="simsimphysicsmsec" + decimal_digits="3" + show_mean="false"/> + <stat_bar name="simsimothermsec" + label="Simulation Time" + stat="simsimothermsec" + decimal_digits="3" + show_mean="false"/> + <stat_bar name="simagentmsec" + label="Agent Time" + stat="simagentmsec" + decimal_digits="3" + show_mean="false"/> + <stat_bar name="simimagesmsec" + label="Images Time" + stat="simimagesmsec" + decimal_digits="3" + show_mean="false"/> + <stat_bar name="simscriptmsec" + label="Script Time" + stat="simscriptmsec" + decimal_digits="3" + show_mean="false"/> + <stat_bar name="simsparemsec" + label="Spare Time" + stat="simsparemsec" + decimal_digits="3" + show_mean="false"/> + <stat_view name="timedetails" + label="Time Details" + follows="left|top|right" + show_bar="true" + show_label="true"> + <stat_bar name="simsimphysicsstepmsec" + label="Physics Step" + stat="simsimphysicsstepmsec" + decimal_digits="3" + show_mean="false"/> + <stat_bar name="simsimphysicsshapeupdatemsec" + label="Update Phys Shapes" + stat="simsimphysicsshapeupdatemsec" + decimal_digits="3" + show_mean="false"/> + <stat_bar name="simsimphysicsothermsec" + label="Physics Other" + stat="simsimphysicsothermsec" + decimal_digits="3" + show_mean="false"/> + <stat_bar name="simsleepmsec" + label="Sleep Time" + stat="simsleepmsec" + decimal_digits="3" + show_mean="false"/> + <stat_bar name="simpumpiomsec" + label="Pump IO" + stat="simpumpiomsec" + decimal_digits="3" + show_mean="false"/> + </stat_view> + </stat_view> + </stat_view> + </container_view> + </scroll_container> </floater> |