From 8804da687eeabe296e41a9da1a0141f06e833bc2 Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Thu, 15 Jan 2026 11:48:09 +0900 Subject: [PATCH] [GPU] Remove 2.5x vblank limit when framerate_limit is applied Better frame pacing when these are totally decoupled --- src/xenia/gpu/graphics_system.cc | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/xenia/gpu/graphics_system.cc b/src/xenia/gpu/graphics_system.cc index d9505db8a..379c1a91d 100644 --- a/src/xenia/gpu/graphics_system.cc +++ b/src/xenia/gpu/graphics_system.cc @@ -201,17 +201,11 @@ X_STATUS GraphicsSystem::Setup(cpu::Processor* processor, threading::NanoSleep(sleep_ns); #endif } else { - // Unlimited mode (vsync=false) + // Unlimited mode (vsync=false) - fire vblanks as fast as + // possible Host presentation is separately throttled by + // framerate_limit MarkVblank(); - if (cvars::framerate_limit > 0) { - // Cap vblanks at 2.5x framerate_limit to avoid flooding guest - const uint64_t max_vblank_hz = cvars::framerate_limit * 5 / 2; - const uint64_t sleep_ns = 1000000000 / max_vblank_hz; - threading::NanoSleep(sleep_ns); - } else { - // Truly unlimited - fire as fast as possible - threading::Sleep(std::chrono::milliseconds(1)); - } + threading::Sleep(std::chrono::milliseconds(1)); } } return 0;