From ad956699c08620903150b9adfc2e8c34ccf5c390 Mon Sep 17 00:00:00 2001
From: RunitaiLinden <davep@lindenlab.com>
Date: Tue, 13 Jun 2023 14:45:12 -0500
Subject: [PATCH] SL-19811 Update fallback probe every 2 seconds to smooth out
 water cloud updates.

---
 indra/newview/app_settings/settings.xml  |  2 +-
 indra/newview/llreflectionmapmanager.cpp | 16 +++++++++++-----
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index ecd63f4b215..ee14bb2b2f4 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -10533,7 +10533,7 @@
     <key>Type</key>
     <string>F32</string>
     <key>Value</key>
-    <real>20.0</real>
+    <real>2.0</real>
   </map>
   <key>RenderReflectionProbeLevel</key>
   <map>
diff --git a/indra/newview/llreflectionmapmanager.cpp b/indra/newview/llreflectionmapmanager.cpp
index 15d41c4161b..e30aba3df75 100644
--- a/indra/newview/llreflectionmapmanager.cpp
+++ b/indra/newview/llreflectionmapmanager.cpp
@@ -323,11 +323,17 @@ void LLReflectionMapManager::update()
         mRadiancePass = radiance_pass;
     }
 
-    static LLCachedControl<F32> sUpdatePeriod(gSavedSettings, "RenderDefaultProbeUpdatePeriod", 20.f);
-    if (sLevel == 0 &&
-        gFrameTimeSeconds - mDefaultProbe->mLastUpdateTime < sUpdatePeriod)
-    { // when probes are disabled don't update the default probe more often than once every 20 seconds
-        oldestProbe = nullptr;
+    static LLCachedControl<F32> sUpdatePeriod(gSavedSettings, "RenderDefaultProbeUpdatePeriod", 2.f);
+    if ((gFrameTimeSeconds - mDefaultProbe->mLastUpdateTime) < sUpdatePeriod)
+    {
+        if (sLevel == 0)
+        { // when probes are disabled don't update the default probe more often than the prescribed update period
+            oldestProbe = nullptr;
+        }
+    }
+    else if (sLevel > 0)
+    { // when probes are enabled don't update the default probe less often than the prescribed update period
+      oldestProbe = mDefaultProbe;
     }
 
     // switch to updating the next oldest probe
-- 
GitLab