VoltGround
GPU · VBIOS · Benchmarks · Thermals
← Back to Articles Analysis

Microstuttering and Frame Pacing: How to Diagnose and Fix It

Average frame rate does not tell you whether motion feels smooth. A game delivering 80 FPS with frames spaced unevenly in time feels worse than 60 FPS with perfectly consistent delivery. Frame pacing is the metric that captures this difference.

Microstuttering refers to irregular intervals between displayed frames, even when the average frame rate appears acceptable. A frame that takes 25 ms to render followed immediately by one that takes 7 ms creates a visible lurch, despite both contributing equally to an average of around 50 FPS. The human eye detects this unevenness as stutter rather than smoothness.

The problem is measurable. Frame time data, expressed in milliseconds per frame rather than frames per second, reveals whether delivery is regular. Understanding what causes the irregularity determines which fix applies.

FAQ: Common Questions About Microstutter

Why does my GPU show 80 FPS but the game still stutters?

Average FPS is calculated by dividing total frames by total elapsed time. A burst of fast frames followed by a single slow frame produces a high average with a visible hitch. The slow frame—often called a frame time spike—is the stutter. Tools that only display FPS cannot show you this. You need per-frame time data.

What causes frame time spikes?

The four most common sources are CPU thread bottlenecking on a single frame, shader compilation stutter (common in DirectX 12 and Vulkan titles on first-pass encounters), VRAM overflow causing data streaming across the PCIe link, and driver-level synchronization delays when V-Sync is active without adaptive sync hardware. Background Windows processes can also inject unpredictable spikes of 2–8 ms during garbage collection or security scan passes.

Does multi-GPU cause frame pacing problems?

Legacy SLI and CrossFire configurations had severe frame pacing issues where one GPU alternated frames with the other. When both GPUs did not finish their respective frames at the same time, the display received frames in irregular bursts. Modern multi-GPU APIs (DirectX 12 multi-adapter, Vulkan mGPU) handle synchronization more explicitly but are rarely implemented by game developers, making multi-GPU largely impractical today.

How to Measure Frame Pacing

Two tools give reliable frame time data: NVIDIA FrameView and RivaTuner Statistics Server (RTSS). Both log per-frame timestamps and calculate the frame time in milliseconds. CapFrameX can import these logs and plot frame time over time, making spikes immediately visible as tall bars above a flat baseline.

When reviewing data, look for 1% low and 0.1% low frame times rather than averages. A 1% low of 18 ms on a 60 FPS target is fine. A 1% low of 40 ms means at least one in a hundred frames takes twice as long as the average, which is perceptible as a hitch.

Frame Pacing: What the Numbers Mean

Frame Time (ms) Equivalent FPS Perceptibility Common Cause
16.7 ms 60 FPS Smooth if consistent Normal render budget
20–25 ms occasional spike Marginal, often unnoticed Shader compilation, background process
33–50 ms spike in 60 FPS stream Clearly visible hitch VRAM overflow, CPU stall
100+ ms isolated spike Hard freeze/lurch Driver timeout, OS interrupt, shader compile
Alternating 8 ms / 25 ms pattern Distinctive judder V-Sync without VRR, legacy multi-GPU

Fixes Ranked by Impact

Shader compilation stutter specifically requires either waiting for the game to pre-compile on first install or playing through new areas once to prime the pipeline state object cache. There is no in-game setting that eliminates first-time shader compile stutter on DX12 and Vulkan titles—only pre-compilation and cache warmup help.