Steam Deck Framerate Limiter Blows Up Input Latency But Here's A Workaround

Steam Deck
If you're a hardcore desktop PC gamer, you probably sneer at framerate limiters. "Why would I want to limit the glorious power of my monster PC," you may ask, but for folks on thermally-, power-, or battery-constrained machines, framerate limiters can be a godsend. There's no need to crank out ≧60 FPS all the time when you're giving orders in a turn-based title or playing a methodical mahjong match.

The Steam Deck, as a hand-held PC, naturally includes a framerate limiter at the OS level. However, it may not be the best idea to use it if you're playing a game with any kind of action or time pressure. A user on Reddit by the name of Dacvak did some testing using his iPhone's 240-FPS camera and concluded that enabling the Steam Deck's framerate limiter introduces immense input latency.

Using an app called "Is It Snappy" which lets you record a 240-FPS video and then count the frames from one event to the next, he measured input latency while playing Rogue Legacy 2 at a variety of settings: uncapped, full-refresh-rate capped, and half-refresh-rate capped. He did this at 60 Hz, 50 Hz, and 40 Hz screen refresh settings.

steamdecklatencytesting

You can see his findings above, which he says are the end result of averaging five test runs at each setting. The short version is this: using the system-level framerate limiter adds an unacceptable amount of input latency. Dacvak correctly notes that the motion-to-photon latency of the Steam Deck is actually quite good in comparison to other game consoles when used with no framerate limiter—the Switch, PS5, and Xbox systems all come in around 70 to 80 ms—but with the framerate limiter engaged, it quickly becomes a lagfest.

Normally we'd say simply to enable vertical sync. The Steam Deck's SteamOS is based on a version of Linux that uses Wayland as its compositor, meaning that output is normally always vertically-synced anyway. However, according to Dacvak, that surprisingly introduces approximately the same amount of input latency as using the framerate limiter.

Instead, the best solution appears to be to use an in-game frame limiter. Testing using Rocket League, Dacvak and others in the thread found that using an in-game limit of just 40 FPS resulted in no perceptible increase in input lag over the uncapped mode. This implies that the issue lies in the system-level framerate cap, or possibly even in AMD's graphics drivers themselves.

Unfortunately, not all games have such a feature. Folks in the thread, including the OP, have noted their intentions to share their findings with Valve, so hopefully the house that Steam built can get the feature fixed-up soon.