Skip to main content

FreeSync: AMD's Approach To Variable Refresh Rates

Adaptive-Sync

Foundations First

Thanks to Bill Lempesis, Executive Director of VESA, we were able to both review the full DisplayPort 1.3 specification and preview a draft of the upcoming Adaptive‐Sync update, which is expected to be incorporated as an optional specification to the former standard. In May 2014, a similar addition was made to the earlier DisplayPort 1.2a standard—the first time that Adaptive-Sync was officially referenced as an industry standard.

Overall, the biggest catch in Adaptive-Sync is that it's optional. No VESA member is required to implement or support Adaptive-Sync. The certification routine is separate from that of DisplayPort itself. As of now, Adaptive-Sync does not even have its own logo! Having a display or GPU that exposes a DisplayPort connection is, in and of itself, no guarantee that it will support Adaptive-Sync. Sadly, as with all optional standards, consumers are bound to be confused.

Adaptive-Sync works by leveraging an optional DisplayPort feature. By telling the "sink" (the display) to "ignore main stream attributes," it can effectively use variable Vblank periods, creating a variable refresh rate.

Adaptive-Sync and the FreeSync standard built on top of it requires the specification of a certain range in which a display can operate on a variable refresh basis (for example, 30 to 144Hz). The range is set by the capabilities of the LCD panel and scaler, not by the GPU. The GPU is required to honor such a range requirement. Note that this range may not be, and typically is not, the full range of the display itself. For example, a display that can operate at fixed refresh rates of both 24Hz and 144Hz may opt to expose a variable rate of 35 to 90Hz.

The Adaptive-Sync standard does not cover how the system should behave when frame rates drop outside the supported range (below 30 frames per second or above 144 in a 30 to 144Hz range), except for implicitly stating that the refresh rate should not go above or below that range. It is left up to the GPU/driver combination to determine that.

All in all, the Adaptive-Sync standard is an exceptionally "light" standard. After all, the whole addendum is a mere two pages long. Especially because it's optional, it's unlikely that it will be the quick revolution wanted by gamers hoping for a rapid standardization of variable refresh rates.

Where It Gets Tricky

Two of the most exciting features found in modern LCDs are pixel transition overdrive and, in some of the newer panels, backlight strobing.

Both technologies dramatically improve the response time of LCD displays and lowering image persistence, significantly reducing the "ghosting" effect that has long plagued older LCD displays. If you're lucky enough to be younger than I am and have never played a first-person shooter on a CRT display, you ought to try one of these new strobing displays. They get really close to that experience, less the headache. Plus they weigh some 50 lbs. less. Then again, in this editor's tongue-in-cheek opinion, you're not a hardcore gamer until you've carried your own CRT display to a LAN party.

The image below is the best we've seen to characterize motion blur at different settings. Credit goes to the folks over at testufo.com.

Variable refresh rates pose an exceptional challenge to the two aforementioned technologies. The issue is that they've historically operated on the basis that the timing of frames was known. That is, in a fixed refresh ratio scenario, say 60Hz, every frame lasts 1/60 = 16.7 milliseconds. Therefore, voltages could be overdriven and backlights could be strobed while maintaining color consistency and a consistent global luminosity level.

Now, with FreeSync and G-Sync, the display does not know when the next frame will arrive or how long the current frame will be displayed. Consequently, it cannot easily overdrive pixel voltages without weird color outcomes. It cannot strobe on-demand, as display luminosity would vary in a maddening way as refresh rate varies dynamically. In order for these technologies to work, the display scaler would need to guess when the next frame will come and operate accordingly.

Display manufacturers only recently started to implement so-called variable refresh rate overdrive to help address this issue. We wrote about Nvidia's implementation in Nvidia's G-Sync Updates: Windowed Mode, Notebook Implementation, New Displays. Asus and its OEM partners added something similar to the upcoming MG279Q FreeSync display. Acer's XG270HU reportedly supports overdrive with FreeSync as well, but requires a firmware update and the version we tested didn't have it, unfortunately.

The operation principle of variable refresh rate overdrive is pretty simple. The display scaler guesses the next frame time based on previous frame times and varies the voltage overdrive setpoint accordingly (higher for shorter frame times, lower for longer frame times.) The worst that can happen, after all, is more ghosting than is ideal, and somewhat less accurate colors in scenes in motion. Either way, it works better than just disabling overdrive altogether.

The variable strobing challenge is more difficult to overcome from an engineering standpoint, and, at the time of this writing, no single OEM has even mentioned the possibility of variable pulse-width strobed displays. If low pixel persistence (that is, minimizing motion blur) is your highest concern, you will likely need to sacrifice G-Sync/FreeSync for months, if not years, to come.

Another challenge is windowed mode. On the desktop, there generally is no need for variable refresh rates. Where variable refresh rates come in handy is when you're playing 3D games or using 3D-accelerated applications. The former are usually played in full-screen mode, and display drivers are smart enough to recognize when a full-screen application takes over from Windows' Desktop Window Manager, and can thus enable the variable refresh rate.

But what if you want to play/operate in windowed mode? Windows' Desktop Window Manager is still handling desktop composition, and so you're stuck with fixed refresh rates. As matters stand, G-Sync enables variable refresh rate operation in windowed mode. AMD is looking into the capability, but hasn't estimated a target for its implementation.

My personal experience with G-Sync in windowed mode is a mixed bag at best. While some applications work better than others, Kerbal Space Program, for example, makes the entire desktop flicker to the point where I really wouldn't want G-Sync on at all. The flickering in other applications appears less extreme.