From ee68efeee87efc9930ce0a953c581ee16f4aeb5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joshua=20Vanda=C3=ABle?= Date: Sun, 27 Jul 2025 19:07:08 +0200 Subject: [PATCH] Config: Change default value for Dual Core from enabled to disabled Dual Core is primarily known as one of the first troubleshooting steps when emulation or NetPlay misbehave. I believe(?) the original intent with having it on by default was likely to support users with weaker machines. However, I believe it would be a lot more reasonable for users to manually enable dual core if they really need the performance boost, rather than it is for them to have come ask us in support channel why their cleanly-installed Dolphin is not emulating their games properly. Instead, this creates a fragile first impression where a clean install of Dolphin is already set up in a way that leads to inexplicable crashes, subtle timing bugs, and NetPlay desyncs. Note: This changes only applies to the Desktop application, since mobile devices *do* really need the performance boost. --- Source/Core/Core/Config/MainSettings.cpp | 8 +++++++- Source/Core/DolphinQt/Settings/GeneralPane.cpp | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Source/Core/Core/Config/MainSettings.cpp b/Source/Core/Core/Config/MainSettings.cpp index 31560f97bf..699e0d1cd7 100644 --- a/Source/Core/Core/Config/MainSettings.cpp +++ b/Source/Core/Core/Config/MainSettings.cpp @@ -47,7 +47,13 @@ const Info MAIN_DSP_HLE{{System::Main, "Core", "DSPHLE"}, true}; const Info MAIN_MAX_FALLBACK{{System::Main, "Core", "MaxFallback"}, 100}; const Info MAIN_TIMING_VARIANCE{{System::Main, "Core", "TimingVariance"}, 40}; const Info MAIN_CORRECT_TIME_DRIFT{{System::Main, "Core", "CorrectTimeDrift"}, false}; -const Info MAIN_CPU_THREAD{{System::Main, "Core", "CPUThread"}, true}; +#if defined(ANDROID) +// Currently enabled by default on Android because the performance boost is really needed. +constexpr bool DEFAULT_CPU_THREAD = true; +#else +constexpr bool DEFAULT_CPU_THREAD = false; +#endif +const Info MAIN_CPU_THREAD{{System::Main, "Core", "CPUThread"}, DEFAULT_CPU_THREAD}; const Info MAIN_SYNC_ON_SKIP_IDLE{{System::Main, "Core", "SyncOnSkipIdle"}, true}; const Info MAIN_DEFAULT_ISO{{System::Main, "Core", "DefaultISO"}, ""}; const Info MAIN_ENABLE_CHEATS{{System::Main, "Core", "EnableCheats"}, false}; diff --git a/Source/Core/DolphinQt/Settings/GeneralPane.cpp b/Source/Core/DolphinQt/Settings/GeneralPane.cpp index fe6bd90172..508a5bdbbf 100644 --- a/Source/Core/DolphinQt/Settings/GeneralPane.cpp +++ b/Source/Core/DolphinQt/Settings/GeneralPane.cpp @@ -371,7 +371,7 @@ void GeneralPane::AddDescriptions() "burden by spreading Dolphin's heaviest load across two cores, which usually " "improves performance. However, it can result in glitches and crashes." "

This setting cannot be changed while emulation is active." - "

If unsure, leave this checked."); + "

If unsure, leave this unchecked."); static constexpr char TR_CHEATS_DESCRIPTION[] = QT_TR_NOOP( "Enables the use of AR and Gecko cheat codes which can be used to modify games' behavior. " "These codes can be configured with the Cheats Manager in the Tools menu."