Garbage Collection: enable as default, eliminate option.
This commit is contained in:
		| @@ -59,7 +59,6 @@ void LogSettings() { | ||||
|     log_setting("Renderer_UseVsync", values.use_vsync.GetValue()); | ||||
|     log_setting("Renderer_ShaderBackend", values.shader_backend.GetValue()); | ||||
|     log_setting("Renderer_UseAsynchronousShaders", values.use_asynchronous_shaders.GetValue()); | ||||
|     log_setting("Renderer_UseGarbageCollection", values.use_caches_gc.GetValue()); | ||||
|     log_setting("Renderer_AnisotropicFilteringLevel", values.max_anisotropy.GetValue()); | ||||
|     log_setting("Audio_OutputEngine", values.sink_id.GetValue()); | ||||
|     log_setting("Audio_EnableAudioStretching", values.enable_audio_stretching.GetValue()); | ||||
| @@ -143,7 +142,6 @@ void RestoreGlobalState(bool is_powered_on) { | ||||
|     values.shader_backend.SetGlobal(true); | ||||
|     values.use_asynchronous_shaders.SetGlobal(true); | ||||
|     values.use_fast_gpu_time.SetGlobal(true); | ||||
|     values.use_caches_gc.SetGlobal(true); | ||||
|     values.bg_red.SetGlobal(true); | ||||
|     values.bg_green.SetGlobal(true); | ||||
|     values.bg_blue.SetGlobal(true); | ||||
|   | ||||
| @@ -475,7 +475,6 @@ struct Values { | ||||
|                                                 ShaderBackend::SPIRV, "shader_backend"}; | ||||
|     Setting<bool> use_asynchronous_shaders{false, "use_asynchronous_shaders"}; | ||||
|     Setting<bool> use_fast_gpu_time{true, "use_fast_gpu_time"}; | ||||
|     Setting<bool> use_caches_gc{false, "use_caches_gc"}; | ||||
|  | ||||
|     Setting<u8> bg_red{0, "bg_red"}; | ||||
|     Setting<u8> bg_green{0, "bg_green"}; | ||||
|   | ||||
| @@ -486,7 +486,7 @@ void BufferCache<P>::TickFrame() { | ||||
|     const bool skip_preferred = hits * 256 < shots * 251; | ||||
|     uniform_buffer_skip_cache_size = skip_preferred ? DEFAULT_SKIP_CACHE_SIZE : 0; | ||||
|  | ||||
|     if (Settings::values.use_caches_gc.GetValue() && total_used_memory >= EXPECTED_MEMORY) { | ||||
|     if (total_used_memory >= EXPECTED_MEMORY) { | ||||
|         RunGarbageCollector(); | ||||
|     } | ||||
|     ++frame_tick; | ||||
|   | ||||
| @@ -5,7 +5,6 @@ | ||||
| #pragma once | ||||
|  | ||||
| #include "common/alignment.h" | ||||
| #include "common/settings.h" | ||||
| #include "video_core/dirty_flags.h" | ||||
| #include "video_core/texture_cache/samples_helper.h" | ||||
| #include "video_core/texture_cache/texture_cache_base.h" | ||||
| @@ -93,7 +92,7 @@ void TextureCache<P>::RunGarbageCollector() { | ||||
|  | ||||
| template <class P> | ||||
| void TextureCache<P>::TickFrame() { | ||||
|     if (Settings::values.use_caches_gc.GetValue() && total_used_memory > minimum_memory) { | ||||
|     if (total_used_memory > minimum_memory) { | ||||
|         RunGarbageCollector(); | ||||
|     } | ||||
|     sentenced_images.Tick(); | ||||
|   | ||||
| @@ -818,7 +818,6 @@ void Config::ReadRendererValues() { | ||||
|     ReadGlobalSetting(Settings::values.shader_backend); | ||||
|     ReadGlobalSetting(Settings::values.use_asynchronous_shaders); | ||||
|     ReadGlobalSetting(Settings::values.use_fast_gpu_time); | ||||
|     ReadGlobalSetting(Settings::values.use_caches_gc); | ||||
|     ReadGlobalSetting(Settings::values.bg_red); | ||||
|     ReadGlobalSetting(Settings::values.bg_green); | ||||
|     ReadGlobalSetting(Settings::values.bg_blue); | ||||
| @@ -1359,7 +1358,6 @@ void Config::SaveRendererValues() { | ||||
|                  Settings::values.shader_backend.UsingGlobal()); | ||||
|     WriteGlobalSetting(Settings::values.use_asynchronous_shaders); | ||||
|     WriteGlobalSetting(Settings::values.use_fast_gpu_time); | ||||
|     WriteGlobalSetting(Settings::values.use_caches_gc); | ||||
|     WriteGlobalSetting(Settings::values.bg_red); | ||||
|     WriteGlobalSetting(Settings::values.bg_green); | ||||
|     WriteGlobalSetting(Settings::values.bg_blue); | ||||
|   | ||||
| @@ -28,7 +28,6 @@ void ConfigureGraphicsAdvanced::SetConfiguration() { | ||||
|  | ||||
|     ui->use_vsync->setChecked(Settings::values.use_vsync.GetValue()); | ||||
|     ui->use_asynchronous_shaders->setChecked(Settings::values.use_asynchronous_shaders.GetValue()); | ||||
|     ui->use_caches_gc->setChecked(Settings::values.use_caches_gc.GetValue()); | ||||
|     ui->use_fast_gpu_time->setChecked(Settings::values.use_fast_gpu_time.GetValue()); | ||||
|  | ||||
|     if (Settings::IsConfiguringGlobal()) { | ||||
| @@ -55,8 +54,6 @@ void ConfigureGraphicsAdvanced::ApplyConfiguration() { | ||||
|     ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_asynchronous_shaders, | ||||
|                                              ui->use_asynchronous_shaders, | ||||
|                                              use_asynchronous_shaders); | ||||
|     ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_caches_gc, ui->use_caches_gc, | ||||
|                                              use_caches_gc); | ||||
|     ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_fast_gpu_time, | ||||
|                                              ui->use_fast_gpu_time, use_fast_gpu_time); | ||||
| } | ||||
| @@ -81,7 +78,6 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() { | ||||
|         ui->use_asynchronous_shaders->setEnabled( | ||||
|             Settings::values.use_asynchronous_shaders.UsingGlobal()); | ||||
|         ui->use_fast_gpu_time->setEnabled(Settings::values.use_fast_gpu_time.UsingGlobal()); | ||||
|         ui->use_caches_gc->setEnabled(Settings::values.use_caches_gc.UsingGlobal()); | ||||
|         ui->anisotropic_filtering_combobox->setEnabled( | ||||
|             Settings::values.max_anisotropy.UsingGlobal()); | ||||
|  | ||||
| @@ -94,8 +90,6 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() { | ||||
|                                             use_asynchronous_shaders); | ||||
|     ConfigurationShared::SetColoredTristate(ui->use_fast_gpu_time, | ||||
|                                             Settings::values.use_fast_gpu_time, use_fast_gpu_time); | ||||
|     ConfigurationShared::SetColoredTristate(ui->use_caches_gc, Settings::values.use_caches_gc, | ||||
|                                             use_caches_gc); | ||||
|     ConfigurationShared::SetColoredComboBox( | ||||
|         ui->gpu_accuracy, ui->label_gpu_accuracy, | ||||
|         static_cast<int>(Settings::values.gpu_accuracy.GetValue(true))); | ||||
|   | ||||
| @@ -37,5 +37,4 @@ private: | ||||
|     ConfigurationShared::CheckState use_vsync; | ||||
|     ConfigurationShared::CheckState use_asynchronous_shaders; | ||||
|     ConfigurationShared::CheckState use_fast_gpu_time; | ||||
|     ConfigurationShared::CheckState use_caches_gc; | ||||
| }; | ||||
|   | ||||
| @@ -96,16 +96,6 @@ | ||||
|           </property> | ||||
|          </widget> | ||||
|         </item> | ||||
|         <item> | ||||
|          <widget class="QCheckBox" name="use_caches_gc"> | ||||
|           <property name="toolTip"> | ||||
|            <string>Enables garbage collection for the GPU caches, this will try to keep VRAM within 3-4 GB by flushing the least used textures/buffers. May cause issues in a few games.</string> | ||||
|           </property> | ||||
|           <property name="text"> | ||||
|            <string>Enable GPU cache garbage collection (experimental)</string> | ||||
|           </property> | ||||
|          </widget> | ||||
|         </item> | ||||
|         <item> | ||||
|          <widget class="QWidget" name="af_layout" native="true"> | ||||
|           <layout class="QHBoxLayout" name="horizontalLayout_1"> | ||||
|   | ||||
| @@ -468,7 +468,6 @@ void Config::ReadValues() { | ||||
|     ReadSetting("Renderer", Settings::values.use_nvdec_emulation); | ||||
|     ReadSetting("Renderer", Settings::values.accelerate_astc); | ||||
|     ReadSetting("Renderer", Settings::values.use_fast_gpu_time); | ||||
|     ReadSetting("Renderer", Settings::values.use_caches_gc); | ||||
|  | ||||
|     ReadSetting("Renderer", Settings::values.bg_red); | ||||
|     ReadSetting("Renderer", Settings::values.bg_green); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user