diff --git a/src/core/host_interface.cpp b/src/core/host_interface.cpp index 5afdbb72c..45f8a4af3 100644 --- a/src/core/host_interface.cpp +++ b/src/core/host_interface.cpp @@ -780,6 +780,7 @@ void HostInterface::SetDefaultSettings() void HostInterface::UpdateSettings(const std::function& apply_callback) { + const bool old_increase_timer_resolution = m_settings.increase_timer_resolution; const float old_emulation_speed = m_settings.emulation_speed; const CPUExecutionMode old_cpu_execution_mode = m_settings.cpu_execution_mode; const AudioBackend old_audio_backend = m_settings.audio_backend; @@ -813,7 +814,8 @@ void HostInterface::UpdateSettings(const std::function& apply_callback) } if (m_settings.video_sync_enabled != old_vsync_enabled || m_settings.audio_sync_enabled != old_audio_sync_enabled || - m_settings.speed_limiter_enabled != old_speed_limiter_enabled) + m_settings.speed_limiter_enabled != old_speed_limiter_enabled || + m_settings.increase_timer_resolution != old_increase_timer_resolution) { UpdateSpeedLimiterState(); } diff --git a/src/duckstation-qt/consolesettingswidget.cpp b/src/duckstation-qt/consolesettingswidget.cpp index 6810f7216..7ed5fa357 100644 --- a/src/duckstation-qt/consolesettingswidget.cpp +++ b/src/duckstation-qt/consolesettingswidget.cpp @@ -22,6 +22,8 @@ ConsoleSettingsWidget::ConsoleSettingsWidget(QtHostInterface* host_interface, QW SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.fastBoot, "BIOS/PatchFastBoot"); SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.enableSpeedLimiter, "General/SpeedLimiterEnabled"); + SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.increaseTimerResolution, + "General/IncreaseTimerResolution"); SettingWidgetBinder::BindWidgetToNormalizedSetting(m_host_interface, m_ui.emulationSpeed, "General/EmulationSpeed", 100.0f); SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.pauseOnStart, "General/StartPaused"); diff --git a/src/duckstation-qt/consolesettingswidget.ui b/src/duckstation-qt/consolesettingswidget.ui index cf2708cd3..187f2cb86 100644 --- a/src/duckstation-qt/consolesettingswidget.ui +++ b/src/duckstation-qt/consolesettingswidget.ui @@ -140,13 +140,20 @@ + + + Increase Timer Resolution + + + + Pause On Start - + Save State On Exit diff --git a/src/duckstation-sdl/sdl_host_interface.cpp b/src/duckstation-sdl/sdl_host_interface.cpp index 3834c2c2b..9a64bd423 100644 --- a/src/duckstation-sdl/sdl_host_interface.cpp +++ b/src/duckstation-sdl/sdl_host_interface.cpp @@ -1166,6 +1166,7 @@ void SDLHostInterface::DrawSettingsWindow() settings_changed |= ImGui::SliderFloat("##speed", &m_settings.emulation_speed, 0.25f, 5.0f); settings_changed |= ImGui::Checkbox("Enable Speed Limiter", &m_settings.speed_limiter_enabled); + settings_changed |= ImGui::Checkbox("Increase Timer Resolution", &m_settings.increase_timer_resolution); settings_changed |= ImGui::Checkbox("Pause On Start", &m_settings.start_paused); settings_changed |= ImGui::Checkbox("Save State On Exit", &m_settings.save_state_on_exit); }