What is micro stutter and how do I fix it?

what-is-micro-stutter-and-how-do-i-fix-it?

Have you ever noticed unexpected choppiness in a game where frame rates and performance otherwise seem fine? This can manifest in many ways, and benchmarks don’t always tell the whole story (which is why we include a 99 percentile minimum fps). You can be playing a game with a hard 60fps frame rate cap, but still, you’ll be plagued by short, irregular frame dips—often referred to as micro stutter.

There are multiple potential causes for micro stutter, with possible solutions that may or may not work. But let’s start by first explaining what micro stutter is.

Importantly, micro stutter isn’t the same as the stutter associated with low frame rates, or in some cases massive dips in performance while a game loads new assets. (Kingdom Come: Deliverance had severe stuttering at launch, mostly due to loading new textures and models for a complex environment.) Micro stutter is more subtle and often harder to measure objectively—the best tools like Nvidia’s FCAT involve color tagging of each frame received by a high-end capture card.

Blur Busters can be useful to see micro stuttering in action. If you swap between the ‘smooth’ and ‘micro stutter’ options, it’s immediately obvious which one is better—and if you have a monitor with a high refresh rate, the test supports that as well. Micro stutter most often occurs when the rate of new frames doesn’t quite match up to your monitor’s refresh rate and vsync is enabled.

Other causes of micro stutter

There are other potential causes of micro stutter, like drivers and/or multiple GPUs. SLI and CrossFire are pretty much dead these days, so I’m going to focus on the most common culprit: vsync and frame rate caps.

AMD slade showing micro stuttering

Back in 2013, AMD discovered some driver optimizations that could help reduce microstutter. (Image credit: AMD)

With a 60Hz monitor, the screen updates every 1/60 of a second, and either a new frame is available in time or it’s not. If it’s not, the display shows the same frame as the previous update, giving you 30fps, and if a new frame is ready you get 60fps. Micro stutter occurs when the frame rate fluctuates just enough that you might average 60fps, but some frames come a bit early and others come a bit late. The frame pacing is just a bit off.

That’s a reason to prefer much higher frame rate caps. If an engine puts in a hard 60fps cap, it tries to have a new frame ready for each 60Hz screen refresh, and often other parts of the engine ‘slow down’ so that the frames don’t finish too early, physics and netcode don’t get messed up, etc. However, if there’s a slight hiccup in the engine—a new texture needs to be loaded, or a new model, or maybe just some other background task—you can end up with a frame arriving 0.001 seconds too late. Oops, there’s some stutter.

Depending on the game, this can be a frequent occurrence, and some people end up preferring a constant 30fps rather than aiming for 60fps and getting micro stutter. Neither of those is desirable, especially on a fast PC.

How do you fix micro stutter?

The Crew 2 showing simulated tearing

(Image credit: Ubisoft)

One way of combating micro stutter is to disable vsync, but that has its own drawbacks. Now when a frame is ready from the engine, it will show up on your display. The problem now is that this can lead to tearing—where the next frame arrives in the middle of a screen update. If there’s a lot of movement and action, you get a clear line across your display, and if the game is running at 60fps on a 60Hz display the tearing can remain in roughly the same location on your display for a long time.

There’s not much you can do with games that include a frame rate cap, especially if that cap is linked to physics, AI, network code, or other elements—that’s generally not the ‘right’ way to code a game engine, but that’s a different topic. You can try lowering your quality settings, in the hope of seeing less frequent dropped frames and stutter, but even that doesn’t always work. The more expensive solution is to throw hardware at the problem.

So here’s the easy fix for micro stutter: a variable refresh monitor.

Variable refresh rates

Nvidia G-Sync example

(Image credit: Nvidia)

Nvidia and AMD recognize the problem with micro stutter, and the solution is to have hardware that can sync the screen refresh rate to the game’s output rather than the other way around.

Nvidia’s G-Sync and AMD’s FreeSync technologies approach things in a similar fashion. When a frame is finished by the GPU, rather than waiting for the next screen refresh to come along, the GPU sends out the new frame and sends a signal to the monitor saying, basically, “refresh now.” The best such displays have a wide range of refresh rates, from 40 to 144Hz, which virtually eliminates micro stuttering. There may be variations in frame rate, but running at anywhere from 40 to 80 fps without tearing or stutters is far less noticeable than discrete jumps between 60 and 30 fps.

If you don’t want to lower settings, disable vsync, or buy a G-Sync or FreeSync display, there are still ways to try to reduce micro stutter. Updating to the latest graphics drivers might help (or in some cases, you might try rolling back to older drivers), though this is often on a game-by-game basis. But AMD and Nvidia have been tuning drivers for years and usually, the drivers aren’t the root cause.

Another option is to close any unnecessary background tasks—that includes your browser, Discord, FrameView, and any other utilities. Run as clean as possible and see if the problem persists. If it doesn’t, you can start reintroducing background tasks and try to determine the culprit.

Cap your frame rates

Cap your frame rates using the Nvidia Control Panel

(Image credit: Nvidia)

One final option is to impose a frame rate cap. If a game can’t maintain 60fps, try running it at 30fps. Or if you have a 144Hz display, aim for half or one-third of your refresh rate. 

Some games have a frame rate cap in the settings; otherwise, you can use the Nvidia Control Panel to set a Max Frame Rate or AMD’s Radeon Settings to do the same. Ideally, you want to set the frame rate cap slightly above your monitor’s refresh rate (such as 72fps on a 60Hz display) and then enable vsync, but if a game has a built-in cap at or below your monitor’s refresh rate, you’ll need to go lower. Opinions on whether a smooth 30fps is better than 60fps with micro stutter vary, so give it a shot.

Ultimately, there’s no single guaranteed fix to every cause of micro stutter. Some of it is specific to game developer decisions (arbitrary low frame rate caps are bad), occasionally it’s caused by drivers, and sometimes it’s caused by the multi-tasking nature of modern operating systems and fluctuations in the game environments.

Hardware like G-Sync and FreeSync can be part of the solution, and you can just try faster graphics cards and processors, more memory, etc., but throwing money at the problem only goes so far. In situations where micro stutter does occur, the above can help you track down and hopefully cure the problem.

You Might Also Like

Leave a Reply