#4432 Change graphics quality via a debug setting
parent
892fb2d6e2
commit
e33b5c5e6c
|
|
@ -9111,7 +9111,7 @@
|
||||||
<key>RenderQualityPerformance</key>
|
<key>RenderQualityPerformance</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
<string>Which graphics settings you've chosen</string>
|
<string>Which graphics settings you've chosen. Don't use this setting to change quality directly from debug settings.</string>
|
||||||
<key>Persist</key>
|
<key>Persist</key>
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
|
|
@ -9119,7 +9119,18 @@
|
||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
</map>
|
</map>
|
||||||
|
<key>DebugQualityPerformance</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Allows to change performance quality directly from debug settings.</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>U32</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
</map>
|
||||||
|
|
||||||
<key>RenderReflectionDetail</key>
|
<key>RenderReflectionDetail</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
|
|
|
||||||
|
|
@ -1263,6 +1263,7 @@ bool LLAppViewer::init()
|
||||||
LLViewerCamera::createInstance();
|
LLViewerCamera::createInstance();
|
||||||
LL::GLTFSceneManager::createInstance();
|
LL::GLTFSceneManager::createInstance();
|
||||||
|
|
||||||
|
gSavedSettings.setU32("DebugQualityPerformance", gSavedSettings.getU32("RenderQualityPerformance"));
|
||||||
|
|
||||||
#if LL_WINDOWS
|
#if LL_WINDOWS
|
||||||
if (!mSecondInstance)
|
if (!mSecondInstance)
|
||||||
|
|
|
||||||
|
|
@ -1367,6 +1367,7 @@ void LLFloaterPreference::onChangeQuality(const LLSD& data)
|
||||||
}
|
}
|
||||||
mLastQualityLevel = level;
|
mLastQualityLevel = level;
|
||||||
LLFeatureManager::getInstance()->setGraphicsLevel(level, true);
|
LLFeatureManager::getInstance()->setGraphicsLevel(level, true);
|
||||||
|
gSavedSettings.setU32("DebugQualityPerformance", level);
|
||||||
refreshEnabledGraphics();
|
refreshEnabledGraphics();
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,8 @@
|
||||||
#include "llrender.h"
|
#include "llrender.h"
|
||||||
#include "llnavigationbar.h"
|
#include "llnavigationbar.h"
|
||||||
#include "llnotificationsutil.h"
|
#include "llnotificationsutil.h"
|
||||||
|
#include "llfloaterpreference.h"
|
||||||
|
#include "llfloaterreg.h"
|
||||||
#include "llfloatertools.h"
|
#include "llfloatertools.h"
|
||||||
#include "llpaneloutfitsinventory.h"
|
#include "llpaneloutfitsinventory.h"
|
||||||
#include "llpanellogin.h"
|
#include "llpanellogin.h"
|
||||||
|
|
@ -149,6 +151,21 @@ static bool handleDebugAvatarJointsChanged(const LLSD& newvalue)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool handleDebugQualityPerformanceChanged(const LLSD& newvalue)
|
||||||
|
{
|
||||||
|
// control was set directly or after adjusting Preference setting, no need to update
|
||||||
|
if (gSavedSettings.getU32("RenderQualityPerformance") != gSavedSettings.getU32("DebugQualityPerformance"))
|
||||||
|
{
|
||||||
|
LLFloaterPreference* instance = LLFloaterReg::getTypedInstance<LLFloaterPreference>("preferences");
|
||||||
|
if (instance)
|
||||||
|
{
|
||||||
|
gSavedSettings.setU32("RenderQualityPerformance", newvalue.asInteger());
|
||||||
|
instance->onChangeQuality(newvalue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
static bool handleAvatarHoverOffsetChanged(const LLSD& newvalue)
|
static bool handleAvatarHoverOffsetChanged(const LLSD& newvalue)
|
||||||
{
|
{
|
||||||
if (isAgentAvatarValid())
|
if (isAgentAvatarValid())
|
||||||
|
|
@ -946,6 +963,7 @@ void settings_setup_listeners()
|
||||||
setting_setup_signal_listener(gSavedSettings, "SpellCheckDictionary", handleSpellCheckChanged);
|
setting_setup_signal_listener(gSavedSettings, "SpellCheckDictionary", handleSpellCheckChanged);
|
||||||
setting_setup_signal_listener(gSavedSettings, "LoginLocation", handleLoginLocationChanged);
|
setting_setup_signal_listener(gSavedSettings, "LoginLocation", handleLoginLocationChanged);
|
||||||
setting_setup_signal_listener(gSavedSettings, "DebugAvatarJoints", handleDebugAvatarJointsChanged);
|
setting_setup_signal_listener(gSavedSettings, "DebugAvatarJoints", handleDebugAvatarJointsChanged);
|
||||||
|
setting_setup_signal_listener(gSavedSettings, "DebugQualityPerformance", handleDebugQualityPerformanceChanged);
|
||||||
|
|
||||||
setting_setup_signal_listener(gSavedSettings, "TargetFPS", handleTargetFPSChanged);
|
setting_setup_signal_listener(gSavedSettings, "TargetFPS", handleTargetFPSChanged);
|
||||||
setting_setup_signal_listener(gSavedSettings, "AutoTuneFPS", handleAutoTuneFPSChanged);
|
setting_setup_signal_listener(gSavedSettings, "AutoTuneFPS", handleAutoTuneFPSChanged);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue