summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerthrottle.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2025-08-21 21:55:25 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-08-22 23:15:24 +0300
commit1022be69862db187594f2971fa9602d46f13e372 (patch)
tree1fe9dfeb688141f30dc39f7cf1ef5b095003ecde /indra/newview/llviewerthrottle.cpp
parentf5423d4517e2e5fb747b2141cb9b71780662c435 (diff)
#4570 Sanity check bandwidth input
Going above this will just make server throttle things and viewer's own throttlig won't be effective when viewer can't keep up.
Diffstat (limited to 'indra/newview/llviewerthrottle.cpp')
-rw-r--r--indra/newview/llviewerthrottle.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/indra/newview/llviewerthrottle.cpp b/indra/newview/llviewerthrottle.cpp
index 8d935e4243..3ccfbea6e2 100644
--- a/indra/newview/llviewerthrottle.cpp
+++ b/indra/newview/llviewerthrottle.cpp
@@ -225,7 +225,7 @@ void LLViewerThrottle::setMaxBandwidth(F32 kbits_per_second, bool from_event)
void LLViewerThrottle::load()
{
- mMaxBandwidth = gSavedSettings.getF32("ThrottleBandwidthKBPS")*1024;
+ mMaxBandwidth = getMaxBandwidthKbps() * 1024;
resetDynamicThrottle();
mCurrent.dump();
}
@@ -242,6 +242,15 @@ void LLViewerThrottle::sendToSim() const
mCurrent.sendToSim();
}
+F32 LLViewerThrottle::getMaxBandwidthKbps()
+{
+ constexpr F32 MIN_BANDWIDTH = 100.0f; // 100 Kbps
+ constexpr F32 MAX_BANDWIDTH = 10000.0f; // 10 Mbps
+
+ static LLCachedControl<F32> bandwidth(gSavedSettings, "ThrottleBandwidthKBPS", 3000.0);
+ return llclamp(bandwidth(), MIN_BANDWIDTH, MAX_BANDWIDTH);
+}
+
LLViewerThrottleGroup LLViewerThrottle::getThrottleGroup(const F32 bandwidth_kbps)
{