G-SYNC 101: Introduction

G-Sync 101

In the past, Blur Busters created the world’s first G-SYNC input lag test and also Animation: G-SYNC Simulation on TestUFO.

This is the first entry of what will become a multi-part article, “G-SYNC 101: Introduction” represents an enhanced version of a single section of my forum post, originally featured in this thread on Blur Busters Forums.

I initially set out to document G-SYNC’s oft sparsely covered functionality, specifically in regards to input latency, as to uncover the exact point at which it begins to behave like traditional Vertical Synchronization (v-sync), and, most importantly, how to avoid it.

As I continued my research, I expanded my initial effort, and included corrections and explanations to combat the most common misconceptions and general misinformation over G-SYNC, its relationship with the v-sync setting, and why tearing can still be observed (and ultimately prevented) when it is combined with v-sync “Off.”

Over the coming weeks, Blur Busters will release a multi-part article featuring a concise, yet an in-depth revisited analysis of G-SYNC, including a chart and chart legend dedicated to explaining G-SYNC range and behavior, input latency tests across a wide spectrum of scenarios, and optimal settings to achieve the best G-SYNC experience possible.


G-SYNC Module

The G-SYNC module is a small chip that replaces the display’s standard internal scaler, and contains enough onboard memory to hold and process a single frame at a time.

The module exploits the vertical blank period (the span between the previous and next frame scan) to manipulate the display’s internal timings, perform G2G (gray to gray) overdrive calculations to prevent ghosting, and synchronize the display’s refresh rate to the GPU’s render rate.

G-SYNC Activation

“Enable G-SYNC for full screen mode” (exclusive fullscreen functionality only) will automatically engage when a supported display is connected to the GPU. If G-SYNC behavior is suspect or non-functioning, untick the “Enable G-SYNC” box, apply, re-tick, and apply.

Image

G-SYNC Windowed Mode

“Enable G-SYNC for windowed and full screen mode” allows G-SYNC support for windowed and borderless windowed games. This option was introduced in a 2015 driver update, and by manipulating the DWM (Desktop Window Manager) framebuffer, enables G-SYNC’s VRR (variable refresh rate) to synchronize to the focused window’s render rate; unfocused windows remain at the desktop’s fixed refresh rate until focused on.

G-SYNC only functions on one window at a time, and thus any unfocused window that contains moving content will appear to stutter or slow down, a reason why a variety of non-gaming applications (popular web browsers among them) include predefined Nvidia profiles that disable G-SYNC support.

G-SYNC Preferred Refresh Rate

“Highest available” automatically engages when G-SYNC is enabled, and overrides the in-game refresh rate option (if present), defaulting to the highest supported refresh rate of the display. This is useful for games that don’t include a selector, and ensures the display’s native refresh rate is utilized.

“Application-controlled” defers refresh rate control to the game.

Image

G-SYNC & V-SYNC

G-SYNC (GPU Synchronization) works on the same principle as double buffer v-sync; buffer A begins to render frame A, and upon completion, scans it to the display. Meanwhile, as buffer A finishes scanning its first frame, buffer B begins to render frame B, and upon completion, scans it to the display, repeat.

The primary difference between G-SYNC and v-sync is the method in which rendered frames are synchronized. With v-sync, the GPU’s render rate is synchronized to the fixed refresh rate of the display. With G-SYNC, the display’s VRR (variable refresh rate) is synchronized to the GPU’s render rate.

Upon its release, G-SYNC’s ability to fall back on fixed refresh rate v-sync behavior when exceeding the maximum refresh rate of the display was built-in and non-optional. A 2015 driver update later exposed the option.

This update led to recurring confusion, creating a misconception that G-SYNC and v-sync are entirely separate options. However, the “Vertical sync” option in the control panel actually dictates whether, one, the G-SYNC module compensates for frametime variances output by the system (which prevents tearing at all times. G-SYNC + v-sync “Off” disables this behavior; see G-SYNC 101: Range for complete details), and two, whether G-SYNC falls back on fixed refresh rate v-sync behavior; if v-sync is “On,” G-SYNC will revert to v-sync behavior above its range, if v-sync is “Off,” G-SYNC will disable above its range, and tearing will begin display wide.

Within its supported range, G-SYNC is the only synchronization method active, no matter the v-sync setting.

Image

Currently, when G-SYNC is enabled, the control panel’s “Vertical sync” (v-sync) entry is automatically engaged to “Use the 3D application setting,” which defers v-sync fallback behavior control to the in-game v-sync option. This can be manually overridden by changing the “Vertical sync” entry in the control panel to “Off,” “On,” or “Fast.”

For a listing of monitors with G-SYNC, see Official List of G-SYNC / ULMB Monitors