SteamOS 3.5 has just been released to the Preview channel, and includes new features that are still being tested. You can opt into this in Settings > System > System Update Channel. Display The default color rendering for Steam Deck has been adjusted to emulate the sRGB color gamut, resulting in a slightly warmer and more vibrant color appearance. Added Settings -> Adjust Display Colors, to tune the display's Color Vibrancy and Color Temperature.
You might know VRR from the commercial names from AMD and Nvidia: G-Sync and FreeSync.
Your game/software can render as many frames as it wants or the hardware allows, yet your screen can only refresh at a set interval.
Assume your game is running at 55 FPS, but your screen is refreshing at 60 Hz. There’s no way to assign one full frame to each display refresh, because these are not integer multiples of each other. This means that if you do absolutely nothing and just feed the display the latest available frame at all times, you get screen tearing: parts of the image shown on screen will come from one frame, and parts will come from the next frame, this results in weird artifacts where vertical lines appear to be cut or mixed. This is bad.
You can then take the classic and most universally used approach: software vsync. In this case, your GPU will hold back each frame on a buffer and wait for your monitor to send a command requesting the next full frame. This fixes the artifacts, but because each frame must be kept waiting on a buffer, you get a delay between when the frame was calculated and when it shows up, this results in increased latency and it’s quite noticeable.
VRR compatible displays will do something entirely different: they won’t just warn the GPU they’re ready for the next frame, but rather the display and GPU will constantly negotiate the refresh rate and adjust on the fly. The game is running at 55 FPS? The screen will refresh at 55 Hz. A heavy scene came up and now the game dropped to 43 FPS? Display will immediately refresh at 43 Hz.
The end result is that if both the monitor and device support VRR, you get smooth frame delivery without latency spikes and without artifacts.
What VRR is useful for ?
You might know VRR from the commercial names from AMD and Nvidia: G-Sync and FreeSync.
Your game/software can render as many frames as it wants or the hardware allows, yet your screen can only refresh at a set interval.
Assume your game is running at 55 FPS, but your screen is refreshing at 60 Hz. There’s no way to assign one full frame to each display refresh, because these are not integer multiples of each other. This means that if you do absolutely nothing and just feed the display the latest available frame at all times, you get screen tearing: parts of the image shown on screen will come from one frame, and parts will come from the next frame, this results in weird artifacts where vertical lines appear to be cut or mixed. This is bad.
You can then take the classic and most universally used approach: software vsync. In this case, your GPU will hold back each frame on a buffer and wait for your monitor to send a command requesting the next full frame. This fixes the artifacts, but because each frame must be kept waiting on a buffer, you get a delay between when the frame was calculated and when it shows up, this results in increased latency and it’s quite noticeable.
VRR compatible displays will do something entirely different: they won’t just warn the GPU they’re ready for the next frame, but rather the display and GPU will constantly negotiate the refresh rate and adjust on the fly. The game is running at 55 FPS? The screen will refresh at 55 Hz. A heavy scene came up and now the game dropped to 43 FPS? Display will immediately refresh at 43 Hz.
The end result is that if both the monitor and device support VRR, you get smooth frame delivery without latency spikes and without artifacts.
Great explanation, thank you!
Yeah I’m only now understanding this for the first time…
VRR is one of the best things to come to gaming in the last 10 years
VRR is a terrible name for this. Something like “frame rate sync” sound much more appropriate.
Thanks for the explanation.
Interesting - I’d always thought that G-Sync etc meant the other way around. Thanks for the explanation!
You’re correct; AMD’s implementation is FreeSync and NVIDIA’s is G-Sync.
Reduce tearing
Ok. Thanks