summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorBrad Linden <46733234+brad-linden@users.noreply.github.com>2024-06-26 09:53:27 -0700
committerGitHub <noreply@github.com>2024-06-26 09:53:27 -0700
commit39473866fc8119a8ec10935f21b6d8d76432ecd1 (patch)
tree0094f9d82433dd5d663bff982f3871e981dc7b8f /indra/newview
parentc3d3a13dfee2e20333c6993a96aac3c2b6f4af52 (diff)
parentc910fdda2bcd45a649592bb41cae7fbe8348fb38 (diff)
Merge pull request #1800 from secondlife/1771-mesh-objects-do-not-display-until-you-walk-directly-over-them
#1771 Fix for objects disappearing and not reappearing until LoD switch
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llvocache.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp
index bfac68b68f..a65e49a724 100644
--- a/indra/newview/llvocache.cpp
+++ b/indra/newview/llvocache.cpp
@@ -529,6 +529,16 @@ F32 LLVOCacheEntry::getSquaredPixelThreshold(bool is_front)
bool LLVOCacheEntry::isAnyVisible(const LLVector4a& camera_origin, const LLVector4a& local_camera_origin, F32 dist_threshold)
{
+#if 0
+ // this is ill-conceived and should be removed pending QA
+ // In the name of saving memory, we evict objects that are still within view distance from memory
+ // This results in constant paging of objects in and out of memory, leading to poor performance
+ // and many unacceptable visual glitches when rotating the camera
+
+ // Honestly, the entire VOCache partition system needs to be removed since it doubles the overhead of
+ // the spatial partition system and is redundant to the object cache, but this is a start
+ // - davep 2024.06.07
+
LLOcclusionCullingGroup* group = (LLOcclusionCullingGroup*)getGroup();
if(!group)
{
@@ -565,6 +575,9 @@ bool LLVOCacheEntry::isAnyVisible(const LLVector4a& camera_origin, const LLVecto
}
return vis;
+#else
+ return true;
+#endif
}
void LLVOCacheEntry::calcSceneContribution(const LLVector4a& camera_origin, bool needs_update, U32 last_update, F32 max_dist)