summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerregion.cpp
diff options
context:
space:
mode:
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();
}