diff --git a/rpcs3/Emu/CPU/CPUThread.cpp b/rpcs3/Emu/CPU/CPUThread.cpp index 0ccc42a6e77..a7b5a3442f3 100644 --- a/rpcs3/Emu/CPU/CPUThread.cpp +++ b/rpcs3/Emu/CPU/CPUThread.cpp @@ -411,11 +411,6 @@ void cpu_thread::operator()() } if (id_type() == 2) { - if (g_cfg.core.lower_spu_priority) - { - thread_ctrl::set_native_priority(-1); - } - // force input/output denormals to zero for SPU threads (FTZ/DAZ) _mm_setcsr( _mm_getcsr() | 0x8040 ); diff --git a/rpcs3/Emu/system_config.h b/rpcs3/Emu/system_config.h index aa4582d6d0f..3a9cf2165aa 100644 --- a/rpcs3/Emu/system_config.h +++ b/rpcs3/Emu/system_config.h @@ -31,13 +31,12 @@ struct cfg_root : cfg::node cfg::_enum thread_scheduler{this, "Thread Scheduler Mode", thread_scheduler_mode::os}; cfg::_bool set_daz_and_ftz{ this, "Set DAZ and FTZ", false }; cfg::_enum spu_decoder{ this, "SPU Decoder", spu_decoder_type::llvm }; - cfg::_bool lower_spu_priority{ this, "Lower SPU thread priority" }; cfg::_bool spu_getllar_polling_detection{ this, "SPU GETLLAR polling detection", false, true }; cfg::_bool spu_debug{ this, "SPU Debug" }; cfg::_bool mfc_debug{ this, "MFC Debug" }; cfg::_int<0, 6> preferred_spu_threads{ this, "Preferred SPU Threads", 0, true }; // Number of hardware threads dedicated to heavy simultaneous spu tasks cfg::_int<0, 16> spu_delay_penalty{ this, "SPU delay penalty", 3 }; // Number of milliseconds to block a thread if a virtual 'core' isn't free - cfg::_bool spu_loop_detection{ this, "SPU loop detection", true, true }; // Try to detect wait loops and trigger thread yield + cfg::_bool spu_loop_detection{ this, "SPU loop detection", false, true }; // Try to detect wait loops and trigger thread yield cfg::_int<0, 6> max_spurs_threads{ this, "Max SPURS Threads", 6 }; // HACK. If less then 6, max number of running SPURS threads in each thread group. cfg::_enum spu_block_size{ this, "SPU Block Size", spu_block_size_type::safe }; cfg::_bool spu_accurate_getllar{ this, "Accurate GETLLAR", false, true }; diff --git a/rpcs3/rpcs3qt/emu_settings_type.h b/rpcs3/rpcs3qt/emu_settings_type.h index d032f3125d6..652d68733a7 100644 --- a/rpcs3/rpcs3qt/emu_settings_type.h +++ b/rpcs3/rpcs3qt/emu_settings_type.h @@ -12,7 +12,6 @@ enum class emu_settings_type SPUDecoder, HookStaticFuncs, ThreadSchedulerMode, - LowerSPUThreadPrio, SPULoopDetection, PreferredSPUThreads, PPUDebug, @@ -164,7 +163,6 @@ inline static const QMap settings_location = { emu_settings_type::SPUDecoder, { "Core", "SPU Decoder"}}, { emu_settings_type::HookStaticFuncs, { "Core", "Hook static functions"}}, { emu_settings_type::ThreadSchedulerMode, { "Core", "Thread Scheduler Mode"}}, - { emu_settings_type::LowerSPUThreadPrio, { "Core", "Lower SPU thread priority"}}, { emu_settings_type::SPULoopDetection, { "Core", "SPU loop detection"}}, { emu_settings_type::PreferredSPUThreads, { "Core", "Preferred SPU Threads"}}, { emu_settings_type::PPUDebug, { "Core", "PPU Debug"}}, diff --git a/rpcs3/rpcs3qt/settings_dialog.cpp b/rpcs3/rpcs3qt/settings_dialog.cpp index 7f1ee93a0a0..b90a5dbc811 100644 --- a/rpcs3/rpcs3qt/settings_dialog.cpp +++ b/rpcs3/rpcs3qt/settings_dialog.cpp @@ -195,12 +195,6 @@ settings_dialog::settings_dialog(std::shared_ptr gui_settings, std // Checkboxes - m_emu_settings->EnhanceCheckBox(ui->spuCache, emu_settings_type::SPUCache); - SubscribeTooltip(ui->spuCache, tooltips.settings.spu_cache); - - m_emu_settings->EnhanceCheckBox(ui->lowerSPUThrPrio, emu_settings_type::LowerSPUThreadPrio); - SubscribeTooltip(ui->lowerSPUThrPrio, tooltips.settings.lower_spu_thread_priority); - m_emu_settings->EnhanceCheckBox(ui->spuLoopDetection, emu_settings_type::SPULoopDetection); SubscribeTooltip(ui->spuLoopDetection, tooltips.settings.spu_loop_detection); diff --git a/rpcs3/rpcs3qt/settings_dialog.ui b/rpcs3/rpcs3qt/settings_dialog.ui index c3c804e322b..e897161b1bd 100644 --- a/rpcs3/rpcs3qt/settings_dialog.ui +++ b/rpcs3/rpcs3qt/settings_dialog.ui @@ -143,13 +143,6 @@ Additional Settings - - - - Lower SPU thread priority - - - @@ -157,13 +150,6 @@ - - - - SPU Cache - - - diff --git a/rpcs3/rpcs3qt/tooltips.h b/rpcs3/rpcs3qt/tooltips.h index 3bc98cde6b5..63edfb074a4 100644 --- a/rpcs3/rpcs3qt/tooltips.h +++ b/rpcs3/rpcs3qt/tooltips.h @@ -64,9 +64,7 @@ class Tooltips : public QObject const QString spu_asmjit = tr("Recompiles the game's SPU code using the ASMJIT Recompiler.\nThis is the fast option with very good compatibility.\nIf unsure, use this option."); const QString spu_llvm = tr("Recompiles and caches the game's SPU code using the LLVM Recompiler before running which adds extra start-up time.\nThis is the fastest option with very good compatibility.\nIf you experience issues, use the ASMJIT Recompiler."); const QString accurate_xfloat = tr("Adds extra accuracy to SPU float vectors processing.\nFixes bugs in various games at the cost of performance.\nThis setting is only applied when SPU Decoder is set to Fast or LLVM."); - const QString spu_cache = tr("Caches compiled SPU modules on disc.\nShould normally stay enabled.\nDisable this if the cache becomes too large.\nDisabling it does not remove the existing cache."); const QString enable_thread_scheduler = tr("Control how RPCS3 utilizes the threads of your system.\nEach option heavily depends on the game and on your CPU. It's recommended to try each option to find out which performs the best.\nChanging the thread scheduler is not supported on CPUs with less than 12 threads."); - const QString lower_spu_thread_priority = tr("Runs SPU threads with lower priority than PPU threads.\nUsually faster on an i3 or i5, possibly slower or no difference on an i7 or Ryzen."); const QString spu_loop_detection = tr("Try to detect loop conditions in SPU kernels and use them as scheduling hints.\nImproves performance and reduces CPU usage.\nMay cause severe audio stuttering in rare cases."); const QString enable_tsx = tr("Enable usage of TSX instructions.\nNeeds to be forced on some Haswell or Broadwell CPUs.\nForcing this on older Hardware can lead to system instability, use it with caution."); const QString spu_block_size = tr("This option controls the SPU analyser, particularly the size of compiled units. The Mega and Giga modes may improve performance by tying smaller units together, decreasing the number of compiled units but increasing their size.\nUse the Safe mode for maximum compatibility.");