FullscreenUI: Fix incorrect vsync state on unpause

This commit is contained in:
Connor McLaughlin
2022-07-26 21:46:18 +10:00
parent c2f4b7e7b8
commit 6386004b2c
4 changed files with 24 additions and 23 deletions

View File

@ -2192,11 +2192,10 @@ void System::UpdateSpeedLimiterState()
}
}
const bool is_non_standard_speed = (std::abs(target_speed - 1.0f) > 0.05f);
const bool is_non_standard_speed = IsRunningAtNonStandardSpeed();
const bool audio_sync_enabled =
!IsRunning() || (m_throttler_enabled && g_settings.audio_sync_enabled && !is_non_standard_speed);
const bool video_sync_enabled =
!IsRunning() || (m_throttler_enabled && g_settings.video_sync_enabled && !is_non_standard_speed);
const bool video_sync_enabled = ShouldUseVSync();
const float max_display_fps = (!IsRunning() || m_throttler_enabled) ? 0.0f : g_settings.display_max_fps;
Log_InfoPrintf("Target speed: %f%%", target_speed * 100.0f);
Log_InfoPrintf("Syncing to %s%s", audio_sync_enabled ? "audio" : "",
@ -2241,6 +2240,11 @@ void System::UpdateSpeedLimiterState()
}
}
bool System::ShouldUseVSync()
{
return (!IsRunning() || (m_throttler_enabled && g_settings.video_sync_enabled && !IsRunningAtNonStandardSpeed()));
}
bool System::IsFastForwardEnabled()
{
return m_fast_forward_enabled;

View File

@ -400,6 +400,9 @@ void ToggleWidescreen();
/// Returns true if fast forwarding or slow motion is currently active.
bool IsRunningAtNonStandardSpeed();
/// Returns true if vsync should be used.
bool ShouldUseVSync();
/// Quick switch between software and hardware rendering.
void ToggleSoftwareRendering();