diff options
-rw-r--r-- | indra/newview/app_settings/settings.xml | 2 | ||||
-rw-r--r-- | indra/newview/llperfstats.cpp | 8 | ||||
-rw-r--r-- | indra/newview/llperfstats.h | 1 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_performance_autoadjustments.xml | 4 |
4 files changed, 10 insertions, 5 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 97bd60277a..9fffab70f4 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -16890,7 +16890,7 @@ <key>TuningFPSStrategy</key> <map> <key>Comment</key> - <string>Strategy to use when tuning FPS. 0=Tune avatar rendering only, 1=Tune both avatar and global scene settings.</string> + <string>Strategy to use when tuning FPS. 0=Tune avatar rendering only, 1=Tune both avatar and global scene settings, 2=Tune only global scene.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> diff --git a/indra/newview/llperfstats.cpp b/indra/newview/llperfstats.cpp index 959e0afbdf..7ff363c3c1 100644 --- a/indra/newview/llperfstats.cpp +++ b/indra/newview/llperfstats.cpp @@ -439,7 +439,7 @@ namespace LLPerfStats // we cannnot do this by avatar adjustment alone. if((gFrameCount - LLPerfStats::lastGlobalPrefChange) > settingsChangeFrequency) // give changes a short time to take effect. { - if(tunables.userFPSTuningStrategy == TUNE_SCENE_AND_AVATARS) + if(tunables.userFPSTuningStrategy != TUNE_AVATARS_ONLY) { // 1 - hack the water to opaque. all non opaque have a significant hit, this is a big boost for (arguably) a minor visual hit. // the other reflection options make comparatively little change and if this overshoots we'll be stepping back up later @@ -477,7 +477,7 @@ namespace LLPerfStats target_avatar_time_raw = target_frame_time_raw - non_avatar_time_raw; } - if( target_avatar_time_raw < tot_avatar_time_raw ) + if ((target_avatar_time_raw < tot_avatar_time_raw) && (tunables.userFPSTuningStrategy != TUNE_SCENE_ONLY)) { // we need to spend less time drawing avatars to meet our budget auto new_render_limit_ns {LLPerfStats::raw_to_ns(av_render_max_raw)}; @@ -520,7 +520,7 @@ namespace LLPerfStats // turn off if we are not locked. tunables.updateUserAutoTuneEnabled(false); } - if(renderAvatarMaxART_ns != 0 && LLPerfStats::tunedAvatars > 0 ) + if(renderAvatarMaxART_ns != 0 && LLPerfStats::tunedAvatars > 0 && (tunables.userFPSTuningStrategy != TUNE_SCENE_ONLY) ) { // if we have more time to spare let's shift up little in the hope we'll restore an avatar. U64 up_step = LLPerfStats::tunedAvatars > 2 ? LLPerfStats::ART_MIN_ADJUST_UP_NANOS : LLPerfStats::ART_MIN_ADJUST_UP_NANOS * 2; @@ -528,7 +528,7 @@ namespace LLPerfStats tunables.updateSettingsFromRenderCostLimit(); return; } - if(tunables.userFPSTuningStrategy == TUNE_SCENE_AND_AVATARS) + if(tunables.userFPSTuningStrategy != TUNE_AVATARS_ONLY) { if( LLPipeline::RenderFarClip < tunables.userTargetDrawDistance ) { diff --git a/indra/newview/llperfstats.h b/indra/newview/llperfstats.h index 200ff1f248..48ac483ce7 100644 --- a/indra/newview/llperfstats.h +++ b/indra/newview/llperfstats.h @@ -54,6 +54,7 @@ namespace LLPerfStats static constexpr U32 TUNE_AVATARS_ONLY{0}; static constexpr U32 TUNE_SCENE_AND_AVATARS{1}; + static constexpr U32 TUNE_SCENE_ONLY{2}; extern F64 cpu_hertz; diff --git a/indra/newview/skins/default/xui/en/panel_performance_autoadjustments.xml b/indra/newview/skins/default/xui/en/panel_performance_autoadjustments.xml index c76d39201d..56b032d683 100644 --- a/indra/newview/skins/default/xui/en/panel_performance_autoadjustments.xml +++ b/indra/newview/skins/default/xui/en/panel_performance_autoadjustments.xml @@ -136,6 +136,10 @@ label="Avatars and World" name="av_and_scene" value="1" /> + <combo_box.item + label="World only" + name="scene_only" + value="2" /> </combo_box> <button follows="top|left" |