summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerregion.cpp
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2013-10-18 16:14:40 -0600
committerXiaohong Bao <bao@lindenlab.com>2013-10-18 16:14:40 -0600
commit7bfacf8ca6c7bfdd9b11a2036a914c8f47058a61 (patch)
treefdf041b848cfe9b5dde95e231ff5bb57dca6791d /indra/newview/llviewerregion.cpp
parentcf89975f166c1546c60dc51b25558ba74dee5cf5 (diff)
stop other cameras than the world camera to asscee object cache.
Diffstat (limited to 'indra/newview/llviewerregion.cpp')
-rwxr-xr-xindra/newview/llviewerregion.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index 13a71b17cf..e73b4fb62c 100755
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -1165,6 +1165,7 @@ F32 LLViewerRegion::createVisibleObjects(F32 max_time)
}
if(mImpl->mWaitingList.empty())
{
+ mImpl->mVOCachePartition->setCullHistory(FALSE);
return max_time;
}
@@ -1174,6 +1175,7 @@ F32 LLViewerRegion::createVisibleObjects(F32 max_time)
projection_threshold *= projection_threshold;
S32 throttle = sNewObjectCreationThrottle;
+ BOOL has_new_obj = FALSE;
LLTimer update_timer;
for(LLVOCacheEntry::vocache_entry_priority_list_t::iterator iter = mImpl->mWaitingList.begin();
iter != mImpl->mWaitingList.end(); ++iter)
@@ -1188,6 +1190,7 @@ F32 LLViewerRegion::createVisibleObjects(F32 max_time)
if(vo_entry->getState() < LLVOCacheEntry::WAITING)
{
addNewObject(vo_entry);
+ has_new_obj = TRUE;
if(throttle > 0 && !(--throttle) && update_timer.getElapsedTimeF32() > max_time)
{
break;
@@ -1195,6 +1198,8 @@ F32 LLViewerRegion::createVisibleObjects(F32 max_time)
}
}
+ mImpl->mVOCachePartition->setCullHistory(has_new_obj);
+
return max_time - update_timer.getElapsedTimeF32();
}