summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerdisplay.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2026-07-06 20:53:53 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2026-07-07 19:54:57 +0300
commit1c8144b1708420b30c54472a5139d451034e89de (patch)
tree1115da96f7cbde43b8a77d4d5ea801fb9ef66c7a /indra/newview/llviewerdisplay.cpp
parentacde733c6205f7355fcce436b8252c2e003b4a55 (diff)
#4604 Restore system memory factor, but in LLMemory
Diffstat (limited to 'indra/newview/llviewerdisplay.cpp')
-rw-r--r--indra/newview/llviewerdisplay.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index 9f1b0d75f3..0d50ba6fe2 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -217,6 +217,11 @@ void display_update_camera()
{
final_far *= 0.5f;
}
+ // When system memory is critically low or recovering, shrink draw distance.
+ else if (const F32 mem_factor = LLMemory::getSystemMemoryBudgetFactor(); mem_factor > 1.f)
+ {
+ final_far = llmax(32.f, final_far / mem_factor);
+ }
LLViewerCamera::getInstance()->setFar(final_far);
LLVOAvatar::sRenderDistance = llclamp(final_far, 16.f, 256.f);
gViewerWindow->setup3DRender();