FIRE-16857: Implement SimulatorFPS[...] sim-feature handler for OpenSim to fix lag meter
parent
41b534a741
commit
50f328ac49
|
|
@ -31,7 +31,11 @@ LFSimFeatureHandler::LFSimFeatureHandler()
|
|||
mShoutRange(100),
|
||||
mWhisperRange(10),
|
||||
mHasAvatarPicker(false),
|
||||
mHasDestinationGuide(false)
|
||||
mHasDestinationGuide(false),
|
||||
mSimulatorFPS(45.f),
|
||||
mSimulatorFPSFactor(1.f),
|
||||
mSimulatorFPSWarn(30.f),
|
||||
mSimulatorFPSCrit(20.f)
|
||||
{
|
||||
LL_INFOS() << "Initializing Sim Feature Handler" << LL_ENDL;
|
||||
|
||||
|
|
@ -84,6 +88,22 @@ void LFSimFeatureHandler::setSupportedFeatures()
|
|||
mShoutRange = extras.has("shout-range") ? extras["shout-range"].asInteger() : 100;
|
||||
mWhisperRange = extras.has("whisper-range") ? extras["whisper-range"].asInteger() : 10;
|
||||
|
||||
if (extras.has("SimulatorFPS") && extras.has("SimulatorFPSFactor") &&
|
||||
extras.has("SimulatorFPSWarnPercent") && extras.has("SimulatorFPSCritPercent"))
|
||||
{
|
||||
mSimulatorFPS = extras["SimulatorFPS"].asReal();
|
||||
mSimulatorFPSFactor = extras["SimulatorFPSFactor"].asReal();
|
||||
mSimulatorFPSWarn = (mSimulatorFPS * mSimulatorFPSFactor) * (extras["SimulatorFPSWarnPercent"].asReal() / 100.f);
|
||||
mSimulatorFPSCrit = (mSimulatorFPS * mSimulatorFPSFactor) * (extras["SimulatorFPSCritPercent"].asReal() / 100.f);
|
||||
}
|
||||
else
|
||||
{
|
||||
mSimulatorFPS = 45.f;
|
||||
mSimulatorFPSFactor = 1.f;
|
||||
mSimulatorFPSWarn = 30.f;
|
||||
mSimulatorFPSCrit = 20.f;
|
||||
}
|
||||
|
||||
if (extras.has("search-server-url"))
|
||||
{
|
||||
mSearchURL = extras["search-server-url"].asString();
|
||||
|
|
@ -139,6 +159,10 @@ void LFSimFeatureHandler::setSupportedFeatures()
|
|||
mSayRange = 20;
|
||||
mShoutRange = 100;
|
||||
mWhisperRange = 10;
|
||||
mSimulatorFPS = 45.f;
|
||||
mSimulatorFPSFactor = 1.f;
|
||||
mSimulatorFPSWarn = 30.f;
|
||||
mSimulatorFPSCrit = 20.f;
|
||||
|
||||
if (LLLoginInstance::getInstance()->hasResponse("search"))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -85,6 +85,11 @@ public:
|
|||
std::string avatarPickerURL() const { return mAvatarPickerURL; }
|
||||
std::string destinationGuideURL() const { return mDestinationGuideURL; }
|
||||
|
||||
F32 simulatorFPS() const { return mSimulatorFPS; }
|
||||
F32 simulatorFPSFactor() const { return mSimulatorFPSFactor; }
|
||||
F32 simulatorFPSWarn() const { return mSimulatorFPSWarn; }
|
||||
F32 simulatorFPSCrit() const { return mSimulatorFPSCrit; }
|
||||
|
||||
bool hasAvatarPicker() const { return mHasAvatarPicker; }
|
||||
bool hasDestinationGuide() const { return mHasDestinationGuide; }
|
||||
|
||||
|
|
@ -99,6 +104,11 @@ private:
|
|||
SignaledType<std::string> mAvatarPickerURL;
|
||||
SignaledType<std::string> mDestinationGuideURL;
|
||||
|
||||
F32 mSimulatorFPS;
|
||||
F32 mSimulatorFPSFactor;
|
||||
F32 mSimulatorFPSWarn;
|
||||
F32 mSimulatorFPSCrit;
|
||||
|
||||
bool mHasAvatarPicker;
|
||||
bool mHasDestinationGuide;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -40,6 +40,8 @@
|
|||
#include "llfocusmgr.h"
|
||||
#include "lltextbox.h"
|
||||
|
||||
#include "lfsimfeaturehandler.h"
|
||||
|
||||
// <FS:Ansariel> Nicer icons
|
||||
//const std::string LAG_CRITICAL_IMAGE_NAME = "lag_status_critical.tga";
|
||||
//const std::string LAG_WARNING_IMAGE_NAME = "lag_status_warning.tga";
|
||||
|
|
@ -261,6 +263,11 @@ void LLFloaterLagMeter::determineNetwork()
|
|||
|
||||
void LLFloaterLagMeter::determineServer()
|
||||
{
|
||||
// <FS:Ansariel> FIRE-16857: Lag-meter special adjustments for OpenSim
|
||||
mServerFrameTimeWarning = F32Seconds(1.0f / LFSimFeatureHandler::instance().simulatorFPSWarn());
|
||||
mServerFrameTimeCritical = F32Seconds(1.0f / LFSimFeatureHandler::instance().simulatorFPSCrit());
|
||||
// </FS:Ansariel>
|
||||
|
||||
F32Milliseconds sim_frame_time = LLTrace::get_frame_recording().getLastRecording().getLastValue(LLStatViewer::SIM_FRAME_TIME);
|
||||
bool find_cause = false;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue