Drake.fyi

On variable refresh rate configuration

01 Apr 2025

Variable refresh rate (vrr, adaptive sync, freesync, g-sync) works by dynamically matching the refresh rate of a display to the active framerate. However, VRR needs some configuration to fully work: mainly V-Sync and an FPS limiter.

V-Sync: With VRR on + V-sync off, if a new frame becomes ready early while the previous frame is still being scanned out onto the display (from top to bottom), the remaining scanout will be replaced by the new frame, resulting in tearing. The same is true for a frametime spike where the old frame’s been held until a new one is ready. When V-Sync is enabled in conjunction with V-Sync, the driver will adhere to the display scanout by holding the new frame until a new scanout, which ensures no tearing. This replaces default V-Sync buffered behavior and therefore the only added input lag is preventing the frame from being overwritten during the scanout.

FPS Limiter: VRR only works inside a display’s refresh rate range and is automatically disabled when the framerate exceeds the max refresh rate. Capping at the display’s max refresh rate is insufficient as FPS limiters aren’t exact and can slightly overshoot the cap due to frametime variances, causing VRR to rapidly disengage/re-engage, which can also cause flicker. Furthermore, V-Sync will fall back to regular buffered behavior when VRR turns off, increasing input lag. A common rule of thumb is to have a framerate cap at least 3 below the max refresh rate.

Nvidia GPUs: G-Sync + (Nvidia Control Panel) V-Sync + FPS limiter is the ideal configuration for no screen tearing. Reflex (on / on + boost) is the best FPS limiter approach when supported by a game, but other options may include in-game fps limiter, NVCP Low Latency Mode “Ultra” or RTSS (preferably Reflex mode).

AMD GPUs: Freesync + (in-game) V-Sync + FPS limiter. Contrary to Nvidia Reflex it appears driver-side limiters can add noticeable1 latency, at least in some games. Therefore in-game limiter is preferred for input lag.

Note that in-game limiters often don’t apply to menus where framerate isn’t necessarily capped, which can cause flicker as mentioned previously.

Testing

Blur Busters - G-SYNC 101

  • 1000 FPS high speed camera @ 240 Hz in Overwatch
  • NVCP V-Sync + G-Sync + in-game FPS limiter at least 3 below max refresh rate

Techless - You are using G-sync wrong (probably)

  • LDAT, left of screen center @ 240 Hz in Overwatch 2 & Valorant, 7900X + 4080
  • NVCP V-Sync + G-Sync + Reflex ideal VRR config

FR33THY - NVIDIA Does It Add Input Lag?

  • Custom click-to-photon latency tester @ 240 Hz in Valorant, 5800X3D + 3090
  • NVCP V-Sync + G-Sync + Reflex (or LLM Ultra) ideal VRR config

FR33THY - AMD Does It Add Input Lag?

  • Custom click-to-photon latency tester @ 240 Hz in Valorant, 5800X3D + 7900XT
  • At least in Valorant, external (Radeon Software, RTSS) framerate limiter adds far more input lag than in-game compared to behavior on GeForce

Battle(non)sense - G-Sync & Reflex Low Latency - How To Use Both

Battle(non)sense - Get The Most Out Of Your G-Sync Monitor

Battle(non)sense - NVIDIA G-Sync + Null Setup & Input Lag Results

Battle(non)sense - FreeSync vs. G-Sync Delay Analysis

  • 1200 FPS high speed camera