From c8067cfd9708fe30659b1f07f6d035508bea3033 Mon Sep 17 00:00:00 2001 From: Xiaohong Bao <bao@lindenlab.com> Date: Wed, 9 Oct 2013 21:42:53 -0600 Subject: [PATCH] Enable the debug setting "NonvisibleObjectsInMemoryTime" --- indra/newview/app_settings/settings.xml | 24 ++++++++++++------------ indra/newview/llvocache.cpp | 7 ++++++- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 27342712c6e..7bfca2834b8 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4753,18 +4753,7 @@ <string>Boolean</string> <key>Value</key> <integer>0</integer> - </map> - <key>InvisibleObjectsInMemoryTime</key> - <map> - <key>Comment</key> - <string>Number of frames invisible objects stay in memory before being removed. 0 means never to remove.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>U32</string> - <key>Value</key> - <integer>64</integer> - </map> + </map> <key>JoystickAvatarEnabled</key> <map> <key>Comment</key> @@ -6581,6 +6570,17 @@ <key>Value</key> <integer>0</integer> </map> + <key>NonvisibleObjectsInMemoryTime</key> + <map> + <key>Comment</key> + <string>Number of frames non-visible objects stay in memory before being removed. 0 means never to remove.</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>U32</string> + <key>Value</key> + <integer>64</integer> + </map> <key>NoPreload</key> <map> <key>Comment</key> diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp index 0466dea39de..f16f3507c33 100755 --- a/indra/newview/llvocache.cpp +++ b/indra/newview/llvocache.cpp @@ -347,7 +347,7 @@ void LLVOCacheEntry::updateDebugSettings() static LLCachedControl<F32> squared_back_angle(gSavedSettings,"BackProjectionAngleSquared"); //the number of frames invisible objects stay in memory - static LLCachedControl<U32> inv_obj_time(gSavedSettings,"InvisibleObjectsInMemoryTime"); + static LLCachedControl<U32> inv_obj_time(gSavedSettings,"NonvisibleObjectsInMemoryTime"); sMinFrameRange = inv_obj_time - 1; //make 0 to be the maximum @@ -374,6 +374,11 @@ bool LLVOCacheEntry::isRecentlyVisible() const vis = (rad * rad / mSceneContrib < sBackDistanceSquared); } + if(!vis) + { + vis = (getVisible() + sMinFrameRange > LLViewerOctreeEntryData::getCurrentFrame()); + } + return vis; } -- GitLab