Skip to content

PR #351: fix(fps): implement VSync-aligned Master Clock with high-precision sleep

Pre-release
Pre-release

Choose a tag to compare

released this 03 May 01:44

PR #351

Title: fix(fps): implement VSync-aligned Master Clock with high-precision sleep

Source PR: WinNative-Emu/WinNative#351
Source branch: Fps
Source commit: f4a065986cd99d41d5d43d96ba5922c370e7887b
Build workflow run: https://github.com/WinNative-Emu/WinNative/actions/runs/25288231136

What This PR Is About

  • Implemented a Master Clock architecture in XClient with a 4ms 'Goldilocks' buffer and high-precision spin lock.
  • Restored FPS limiting to the DRI2 draw path (DrawRequests.java) for consistent throttling across all engines.
  • Unified pacing in PresentExtension by queuing render requests immediately before the clock-gated sleep.
  • Decoupled mouse input rendering from game pacing: input now uses a direct-to-GPU path for hyper-responsive cursor movement (120Hz+) while game world updates remain perfectly paced at 30/45/60 FPS.
  • Added Hard Resync and VSync Bias logic to eliminate speed-bursts and micro-jitter.
  • Removed the AtomicBoolean and Handler bottlenecks in GLRenderer to ensure zero-lag frame delivery.

Attached Artifacts

  • WinNative-Debug-Standard-PR.351-f4a06.apk
  • WinNative-Debug-Ludashi-PR.351-f4a06.apk
  • WinNative-Debug-Pubg-PR.351-f4a06.apk

Built from source commit f4a06.