#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.master
parent
f5423d4517
commit
1022be6986
|
|
@ -49,6 +49,7 @@
|
|||
#include "llviewerregion.h"
|
||||
#include "llviewerstats.h"
|
||||
#include "llviewerstatsrecorder.h"
|
||||
#include "llviewerthrottle.h"
|
||||
#include "llviewerassetstats.h"
|
||||
#include "llworld.h"
|
||||
#include "llsdparam.h"
|
||||
|
|
@ -2434,7 +2435,7 @@ LLTextureFetch::LLTextureFetch(LLTextureCache* cache, bool threaded, bool qa_mod
|
|||
mOriginFetchSource(LLTextureFetch::FROM_ALL),
|
||||
mTextureInfoMainThread(false)
|
||||
{
|
||||
mMaxBandwidth = gSavedSettings.getF32("ThrottleBandwidthKBPS");
|
||||
mMaxBandwidth = LLViewerThrottle::getMaxBandwidthKbps();
|
||||
mTextureInfo.setLogging(true);
|
||||
|
||||
LLAppCoreHttp & app_core_http(LLAppViewer::instance()->getAppCoreHttp());
|
||||
|
|
@ -2953,11 +2954,10 @@ void LLTextureFetch::commonUpdate()
|
|||
size_t LLTextureFetch::update(F32 max_time_ms)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
static LLCachedControl<F32> band_width(gSavedSettings,"ThrottleBandwidthKBPS", 3000.0);
|
||||
|
||||
{
|
||||
mNetworkQueueMutex.lock(); // +Mfnq
|
||||
mMaxBandwidth = band_width();
|
||||
mMaxBandwidth = LLViewerThrottle::getMaxBandwidthKbps();
|
||||
|
||||
add(LLStatViewer::TEXTURE_NETWORK_DATA_RECEIVED, mHTTPTextureBits);
|
||||
mHTTPTextureBits = (U32Bits)0;
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@
|
|||
#include "llviewerobjectlist.h"
|
||||
#include "llviewertexture.h"
|
||||
#include "llviewertexturelist.h"
|
||||
#include "llviewerthrottle.h"
|
||||
#include "llviewerwindow.h"
|
||||
#include "llwindow.h"
|
||||
#include "llvovolume.h"
|
||||
|
|
@ -633,7 +634,7 @@ void LLGLTexMemBar::draw()
|
|||
LLFontGL::NORMAL, LLFontGL::NO_SHADOW, S32_MAX, S32_MAX, &x_right);
|
||||
|
||||
F32Kilobits bandwidth(LLAppViewer::getTextureFetch()->getTextureBandwidth());
|
||||
F32Kilobits max_bandwidth(gSavedSettings.getF32("ThrottleBandwidthKBPS"));
|
||||
F32Kilobits max_bandwidth(LLViewerThrottle::getMaxBandwidthKbps());
|
||||
color = bandwidth > max_bandwidth ? LLColor4::red : bandwidth > max_bandwidth*.75f ? LLColor4::yellow : text_color;
|
||||
color[VALPHA] = text_color[VALPHA];
|
||||
text = llformat("BW:%.0f/%.0f",bandwidth.value(), max_bandwidth.value());
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ public:
|
|||
void save() const;
|
||||
void sendToSim() const;
|
||||
|
||||
static F32 getMaxBandwidthKbps();
|
||||
F32 getMaxBandwidth()const { return mMaxBandwidth; }
|
||||
F32 getCurrentBandwidth() const { return mCurrentBandwidth; }
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue