diff options
Diffstat (limited to 'indra/newview/llviewerregion.cpp')
-rwxr-xr-x | indra/newview/llviewerregion.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index d619a2af8b..23660dd3ce 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -1059,8 +1059,13 @@ F32 LLViewerRegion::updateVisibleEntries(F32 max_time) return max_time; } - LLTimer update_timer; + if(!sNewObjectCreationThrottle) + { + return max_time; + } + LLTimer update_timer; + const F32 LARGE_SCENE_CONTRIBUTION = 100.f; //a large number to force to load the object. const LLVector3 camera_origin = LLViewerCamera::getInstance()->getOrigin(); const U32 cur_frame = LLViewerOctreeEntryData::getCurrentFrame(); @@ -1145,7 +1150,7 @@ F32 LLViewerRegion::updateVisibleEntries(F32 max_time) } vo_entry->calcSceneContribution(camera_origin, needs_update, last_update); - mImpl->mWaitingList.insert(vo_entry); + mImpl->mWaitingList.insert(vo_entry); } } } @@ -1171,7 +1176,7 @@ F32 LLViewerRegion::createVisibleObjects(F32 max_time) { mImpl->mVOCachePartition->setCullHistory(FALSE); return max_time; - } + } //object projected area threshold F32 pixel_meter_ratio = LLViewerCamera::getInstance()->getPixelMeterRatio(); @@ -1184,8 +1189,8 @@ F32 LLViewerRegion::createVisibleObjects(F32 max_time) for(LLVOCacheEntry::vocache_entry_priority_list_t::iterator iter = mImpl->mWaitingList.begin(); iter != mImpl->mWaitingList.end(); ++iter) { - LLVOCacheEntry* vo_entry = *iter; - + LLVOCacheEntry* vo_entry = *iter; + if(vo_entry->getSceneContribution() < projection_threshold) { break; |