G-SYNC 101: Range

G-Sync 101: Range Chart

Exceeds G-SYNC Range

G-SYNC + V-sync Off:
G-SYNC disengages, tearing begins display wide, no sync-induced input latency is introduced.

G-SYNC + V-sync On:
G-SYNC reverts to fixed refresh rate v-sync behavior; up to 2 frames (approximately an additional 33.2ms @60 Hz, 20ms @100 Hz, 13.8ms @144 Hz, etc) of sync-induced input latency is introduced as frames begin to over-queue in both buffers, ultimately delaying their appearance on-screen.

G-SYNC + Fast Sync*:
G-SYNC disengages, Fast Sync engages, 2-12ms of sync-induced input latency is introduced.
(*Fast Sync is best used with framerates in excess of two to three times that of the display’s maximum refresh rate, as its third buffer selects from the “best” frames to display as the final render; the higher the sample rate, the better it functions. Do note that even at its most optimal, Fast Sync introduces uneven frame pacing, which can manifest as recurring micro stutter)

Within G-SYNC Range

Refer to “Upper & Lower Frametime Variances” section below…

Upper & Lower Frametime Variances

G-SYNC + V-sync Off:
The tearing at the bottom of the display in the very Upper fps range near the display’s maximum refresh rate with v-sync “Off” (exampled below), is due to sudden frametime variances output by the system, which will vary in severity depending on both the efficiency of the given game engine, and the system’s ability (or inability) to deliver consistent frametimes.

V-sync “Off” disables the G-SYNC module’s ability to compensate for sudden frametime variances, meaning when an affected frame is unable to complete before the next, the next frame will be displayed immediately, resulting in simultaneous delivery of more than one frame (aka “tearing”).

In the Upper fps range, tearing will be limited to the bottom of the display. In the Lower fps range (<36) where frametime spikes can occur (see “What are Frametime Spikes?” section further below), it will result in a complete middle tearline.

Without frametime compensation, G-SYNC functionality with v-sync “Off,” is limited to steering the tearline (which typically starts in the middle of an unsynced screen) to the bottom of the display when possible, and reverting to unsynced behavior when not.

G-SYNC + V-sync On:
G-SYNC’s primary goal is to display a single frame at a time. Unlike v-sync “Off,” v-sync “On” accomplishes this by allowing the G-SYNC module to compensate for frametime variances throughout the Upper and Lower fps range by suspending delivery of the affected frame just long enough to display it completely before the next, which eliminates tearing within the G-SYNC range, in spite of the frametime variances encountered.

Since frametime compensation with v-sync “On” is performed during the vertical blank period (the span between the previous and next frame scan), it does not introduce sync-induced input latency within the G-SYNC range.

G-SYNC + Fast Sync:
Refer to “V-sync On” above.

What are Frametime Spikes?

Frametime spikes occur due to asset loads when transitioning from one area to the next, and/or when a script or physics system is triggered. Not to be confused with other performance issues, like framerate slowdown or v-sync-induced stutter, the spikes manifest as the occasional hitch or pause, and usually last for mere micro to milliseconds at a time, plummeting the framerate into the single digits, and concurrently raising the frametime upwards of 1000ms before re-normalizing.

The more efficient the game engine, and the more capable the system running it, the less of these spikes there are (and the shorter they last), but no setup can fully avoid their occurrence.

Minimum Refresh Range

Once the framerate reaches the 36 and below mark, the G-SYNC module begins inserting duplicate frames to maintain the display’s minimum physical refresh rate, and smooth motion perception. If the framerate is at 36, the refresh rate will double to 72 Hz, at 18 frames, it will triple to 54 Hz, and so on. This behavior will continue down to 1 frame per second.

Regardless of the reported framerate and variable refresh rate of the display, the scanout rate (the time it takes each frame, top to bottom, to render completely on-screen) will always match the speed of the display’s current maximum refresh rate; 16.6ms @60Hz, 10ms @100 Hz, 6.9ms @144 Hz, and so on.

[To be continued: “G-SYNC 101: Input Latency”…]

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