Quick answer: Your game's frame rate is inconsistent because the per-frame work varies, some moments (combat, busy scenes, transitions) do much more than others, so the frame rate fluctuates with the load, and occasional spikes (garbage collection, on-demand loading) cause hitches, while uneven frame timing (poor frame pacing) makes even a steady average feel rough. Consistency comes from steadying the workload and eliminating spikes.

An inconsistent frame rate, fluctuating, uneven, or punctuated by hitches, feels worse than a steady lower frame rate, because the variation is noticeable. The causes are variation in per-frame work, occasional spikes, and frame-pacing issues, and steadying the experience means addressing each.

Why Frame Rate Is Inconsistent

Inconsistency has a few sources. Variable load: per-frame work changes with what's happening, busy moments (combat, many entities, complex scenes) do more work and drop the frame rate, while calm moments are fine, so the frame rate fluctuates with the situation. Occasional spikes: garbage collection, on-demand loading, or work bursts inject big work into single frames, causing hitches amid otherwise-steady play (stuttering). And frame pacing: even at a steady average, uneven frame timing (frames delivered at inconsistent intervals) makes motion judder.

So inconsistency is some mix of the frame rate varying with load, spikes hitching it, and uneven pacing. Identifying which dominates guides the fix.

How to Diagnose and Fix It

Look at frame time over time, not just the average. Does it drop in specific situations (variable load, points at optimizing those moments)? Show occasional spikes (stuttering, points at GC/loading/bursts)? Or wobble unevenly (frame pacing)? Bugnet's performance monitoring captures the bad-case frame experience across real hardware, surfacing where and when the frame rate is inconsistent.

Fix accordingly: optimize the heavy situations (and budget peak load) to reduce load-driven drops, eliminate spikes (pool to cut GC, preload/stream assets, spread bursts), and fix frame pacing (steady the workload, fix vsync/present timing). See our guides on fixing frame drops, stuttering, and frame pacing. The goal is steady, even frame delivery regardless of what's happening.

Inconsistent frame rate is variable load, occasional spikes, or uneven pacing. Look at frame time over time to see which dominates, then optimize heavy moments, kill spikes, and steady the pacing.