diff options
author | Don Kjer <don@lindenlab.com> | 2010-12-13 18:29:31 -0800 |
---|---|---|
committer | Don Kjer <don@lindenlab.com> | 2010-12-13 18:29:31 -0800 |
commit | 01c13c3b9403991c04166f6ac57c93aaf5f17f83 (patch) | |
tree | 614140e65ef00f90682c01fdf9dc451a27641769 | |
parent | b71b9ee08e0b59274346a3b4da2c33ff84a5eb90 (diff) |
Added in-world color coding to objects based on update type
-rw-r--r-- | indra/newview/llviewerobjectlist.cpp | 32 | ||||
-rw-r--r-- | indra/newview/llviewerstatsrecorder.cpp | 7 | ||||
-rw-r--r-- | indra/newview/llviewerstatsrecorder.h | 2 |
3 files changed, 39 insertions, 2 deletions
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp index 64949ecc44..285f067b0e 100644 --- a/indra/newview/llviewerobjectlist.cpp +++ b/indra/newview/llviewerobjectlist.cpp @@ -554,6 +554,7 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys, llwarns << "Dead object " << objectp->mID << " in UUID map 1!" << llendl; } + bool bCached = false; if (compressed) { if (update_type != OUT_TERSE_IMPROVED) // OUT_FULL_COMPRESSED only? @@ -564,6 +565,7 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys, if (update_type != OUT_TERSE_IMPROVED) // OUT_FULL_COMPRESSED only? { LLViewerRegion::eCacheUpdateResult result = objectp->mRegionp->cacheFullUpdate(objectp, compressed_dp); + bCached = true; #if LL_RECORD_VIEWER_STATS LLViewerStatsRecorder::instance()->recordCacheFullUpdate(local_id, update_type, result, objectp); #endif @@ -584,6 +586,36 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys, } #if LL_RECORD_VIEWER_STATS LLViewerStatsRecorder::instance()->recordObjectUpdateEvent(local_id, update_type, objectp); + F32 color_strength = llmin((LLViewerStatsRecorder::instance()->getTimeSinceStart() / 1000.0f) + 64.0f, 255.0f); + LLColor4 color; + switch (update_type) + { + case OUT_FULL: + color[VGREEN] = color_strength; + break; + case OUT_TERSE_IMPROVED: + color[VGREEN] = color_strength; + color[VBLUE] = color_strength; + break; + case OUT_FULL_COMPRESSED: + color[VRED] = color_strength; + if (!bCached) + { + color[VGREEN] = color_strength; + } + break; + case OUT_FULL_CACHED: + color[VBLUE] = color_strength; + break; + default: + llwarns << "Unknown update_type " << update_type << llendl; + break; + }; + U8 te; + for (te = 0; te < objectp->getNumTEs(); ++te) + { + objectp->setTEColor(te, color); + } #endif } diff --git a/indra/newview/llviewerstatsrecorder.cpp b/indra/newview/llviewerstatsrecorder.cpp index b6ef260b6a..a8d1565742 100644 --- a/indra/newview/llviewerstatsrecorder.cpp +++ b/indra/newview/llviewerstatsrecorder.cpp @@ -221,10 +221,9 @@ void LLViewerStatsRecorder::endObjectUpdateEvents() total_objects > 0) { std::ostringstream data_msg; - F32 now32 = (F32) ((LLTimer::getTotalTime() - mStartTime) / 1000.0); F32 processing32 = (F32) ((LLTimer::getTotalTime() - mProcessingTime) / 1000.0); - data_msg << now32 + data_msg << getTimeSinceStart() << ", " << processing32 << ", " << mObjectCacheHitCount << ", " << mObjectCacheMissFullCount @@ -246,5 +245,9 @@ void LLViewerStatsRecorder::endObjectUpdateEvents() clearStats(); } +F32 LLViewerStatsRecorder::getTimeSinceStart() +{ + return (F32) ((LLTimer::getTotalTime() - mStartTime) / 1000.0); +} diff --git a/indra/newview/llviewerstatsrecorder.h b/indra/newview/llviewerstatsrecorder.h index 16e04fb11e..f9ccdd6e78 100644 --- a/indra/newview/llviewerstatsrecorder.h +++ b/indra/newview/llviewerstatsrecorder.h @@ -64,6 +64,8 @@ class LLViewerStatsRecorder void recordRequestCacheMissesEvent(S32 count); void endObjectUpdateEvents(); + F32 getTimeSinceStart(); + private: static LLViewerStatsRecorder* sInstance; |