From 4a97dc7c81ed99b22d6cd9da3afc9f3db7b9bbd8 Mon Sep 17 00:00:00 2001 From: Sam Belliveau Date: Thu, 2 Feb 2023 20:59:17 -0500 Subject: [PATCH] Let VI Skip work if variance > fallback --- Source/Core/Core/CoreTiming.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/Core/CoreTiming.cpp b/Source/Core/Core/CoreTiming.cpp index 093b136ed8..aa7c501c92 100644 --- a/Source/Core/Core/CoreTiming.cpp +++ b/Source/Core/Core/CoreTiming.cpp @@ -386,7 +386,7 @@ void CoreTimingManager::Throttle(const s64 target_cycle) // It doesn't matter what amount of lag we skip VI at, as long as it's constant. const DT max_variance = std::chrono::duration_cast
(DT_ms(Config::Get(Config::MAIN_TIMING_VARIANCE))); - const TimePoint vi_deadline = time - max_variance / 2; + const TimePoint vi_deadline = time - std::min(max_fallback, max_variance) / 2; m_throttle_disable_vi_int = 0.0 < speed && m_throttle_deadline < vi_deadline; // Only sleep if we are behind the deadline