From 053d97db1b283ca2548dc1f64756ddfc5166158f Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 25 Sep 2013 19:12:35 -0700 Subject: better memory usage for LLTrace (tighter packing of recording arrays) removed complicated and unnecessary fast timer gapless handoff logic (it should be gapless anyway) improved MemTrackable API, better separation of shadow and footprint added memory usage stats to floater_stats.xml --- indra/newview/lldrawable.cpp | 1 - indra/newview/lldrawable.h | 1 - indra/newview/lltexturecache.h | 4 ++-- indra/newview/lltextureview.cpp | 8 ++++---- indra/newview/llviewerobject.cpp | 1 - indra/newview/llviewerobject.h | 1 - indra/newview/llvieweroctree.h | 2 +- indra/newview/llviewerprecompiledheaders.cpp | 2 +- indra/newview/llvocache.cpp | 1 - indra/newview/llvocache.h | 1 - indra/newview/skins/default/xui/en/floater_stats.xml | 16 ++++++++++++++++ 11 files changed, 24 insertions(+), 14 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp index 1837974604..5baebab5a3 100755 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -59,7 +59,6 @@ const F32 MIN_SHADOW_CASTER_RADIUS = 2.0f; static LLTrace::TimeBlock FTM_CULL_REBOUND("Cull Rebound"); extern bool gShiftFrame; -//LLTrace::MemStatHandle LLDrawable::sMemStat("LLDrawable"); //////////////////////// diff --git a/indra/newview/lldrawable.h b/indra/newview/lldrawable.h index 3dab496a20..a0ac417b24 100755 --- a/indra/newview/lldrawable.h +++ b/indra/newview/lldrawable.h @@ -291,7 +291,6 @@ public: F32 mDistanceWRTCamera; static F32 sCurPixelAngle; //current pixels per radian - //static LLTrace::MemStatHandle sMemStat; private: typedef std::vector face_list_t; diff --git a/indra/newview/lltexturecache.h b/indra/newview/lltexturecache.h index c2a5cf9405..6ff4c44568 100755 --- a/indra/newview/lltexturecache.h +++ b/indra/newview/lltexturecache.h @@ -131,8 +131,8 @@ public: // debug S32 getNumReads() { return mReaders.size(); } S32 getNumWrites() { return mWriters.size(); } - S64 getUsage() { return mTexturesSizeTotal; } - S64 getMaxUsage() { return sCacheMaxTexturesSize; } + S64Bytes getUsage() { return S64Bytes(mTexturesSizeTotal); } + S64Bytes getMaxUsage() { return S64Bytes(sCacheMaxTexturesSize); } U32 getEntries() { return mHeaderEntriesInfo.mEntries; } U32 getMaxEntries() { return sCacheMaxEntries; }; BOOL isInCache(const LLUUID& id) ; diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp index 3974668d09..17aebebd92 100755 --- a/indra/newview/lltextureview.cpp +++ b/indra/newview/lltextureview.cpp @@ -512,8 +512,8 @@ void LLGLTexMemBar::draw() S32Megabytes total_mem = LLViewerTexture::sTotalTextureMemory; S32Megabytes max_total_mem = LLViewerTexture::sMaxTotalTextureMem; F32 discard_bias = LLViewerTexture::sDesiredDiscardBias; - F32 cache_usage = (F32)F32Megabytes(LLAppViewer::getTextureCache()->getUsage()).value() ; - F32 cache_max_usage = (F32)F32Megabytes(LLAppViewer::getTextureCache()->getMaxUsage()).value() ; + F32 cache_usage = F32Megabytes(LLAppViewer::getTextureCache()->getUsage()).value(); + F32 cache_max_usage = F32Megabytes(LLAppViewer::getTextureCache()->getMaxUsage()).value(); S32 line_height = LLFontGL::getFontMonospace()->getLineHeight(); S32 v_offset = 0;//(S32)((texture_bar_height + 2.2f) * mTextureView->mNumTextureBars + 2.0f); F32Bytes total_texture_downloaded = gTotalTextureData; @@ -555,8 +555,8 @@ void LLGLTexMemBar::draw() LLAppViewer::getTextureFetch()->getStateStats(&cache_read, &cache_write, &res_wait); text = llformat("Net Tot Tex: %.1f MB Tot Obj: %.1f MB #Objs/#Cached: %d/%d Tot Htp: %d Cread: %u Cwrite: %u Rwait: %u", - total_texture_downloaded.value(), - total_object_downloaded.value(), + total_texture_downloaded.valueInUnits(), + total_object_downloaded.valueInUnits(), total_objects, total_active_cached_objects, total_http_requests, diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 2c1ab3a73b..394b11b759 100755 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -112,7 +112,6 @@ BOOL LLViewerObject::sMapDebug = TRUE; LLColor4 LLViewerObject::sEditSelectColor( 1.0f, 1.f, 0.f, 0.3f); // Edit OK LLColor4 LLViewerObject::sNoEditSelectColor( 1.0f, 0.f, 0.f, 0.3f); // Can't edit S32 LLViewerObject::sAxisArrowLength(50); -//LLTrace::MemStatHandle LLViewerObject::sMemStat("LLViewerObject"); BOOL LLViewerObject::sPulseEnabled(FALSE); diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h index e3972ccae8..56518cca69 100755 --- a/indra/newview/llviewerobject.h +++ b/indra/newview/llviewerobject.h @@ -661,7 +661,6 @@ public: LLPointer mIcon; static BOOL sUseSharedDrawables; - //static LLTrace::MemStatHandle sMemStat; protected: // delete an item in the inventory, but don't tell the diff --git a/indra/newview/llvieweroctree.h b/indra/newview/llvieweroctree.h index bc3c7cbfa2..6ebd1d6da1 100644 --- a/indra/newview/llvieweroctree.h +++ b/indra/newview/llvieweroctree.h @@ -135,7 +135,7 @@ private: class LLViewerOctreeEntryData : public LLRefCount { protected: - ~LLViewerOctreeEntryData(); + virtual ~LLViewerOctreeEntryData(); public: LLViewerOctreeEntryData(const LLViewerOctreeEntryData& rhs) diff --git a/indra/newview/llviewerprecompiledheaders.cpp b/indra/newview/llviewerprecompiledheaders.cpp index 307e903726..768f1f3387 100755 --- a/indra/newview/llviewerprecompiledheaders.cpp +++ b/indra/newview/llviewerprecompiledheaders.cpp @@ -26,7 +26,7 @@ // source file that includes just the standard includes // newview.pch will be the pre-compiled header -// llviewerprecompiledheaders.obj will contain the pre-compiled type information +// llviewerprecompiledheaders.obj will contain the pre-compllviewiled type information #include "llviewerprecompiledheaders.h" diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp index dfc9ee57d8..25dd1f4d07 100755 --- a/indra/newview/llvocache.cpp +++ b/indra/newview/llvocache.cpp @@ -38,7 +38,6 @@ F32 LLVOCacheEntry::sBackDistanceSquared = 0.f; F32 LLVOCacheEntry::sBackAngleTanSquared = 0.f; BOOL LLVOCachePartition::sNeedsOcclusionCheck = FALSE; -//LLTrace::MemStatHandle LLVOCachePartition::sMemStat("LLVOCachePartition"); BOOL check_read(LLAPRFile* apr_file, void* src, S32 n_bytes) { diff --git a/indra/newview/llvocache.h b/indra/newview/llvocache.h index 867f9ab93c..70900a7e22 100755 --- a/indra/newview/llvocache.h +++ b/indra/newview/llvocache.h @@ -176,7 +176,6 @@ private: public: static BOOL sNeedsOcclusionCheck; - //static LLTrace::MemStatHandle sMemStat; private: U32 mCullHistory[LLViewerCamera::NUM_CAMERAS]; diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml index 2291f81fcc..f0a464dfc9 100755 --- a/indra/newview/skins/default/xui/en/floater_stats.xml +++ b/indra/newview/skins/default/xui/en/floater_stats.xml @@ -113,6 +113,22 @@ + + + +