G-SYNC 101: Control Panel


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 blanking interval (the span between the previous and next frame scan) to manipulate the display’s internal timings; performing G2G (gray to gray) overdrive calculations to prevent ghosting, and synchronizing the display’s refresh rate to the GPU’s render rate to eliminate tearing, along with the delayed frame delivery and adjoining stutter caused by traditional syncing methods.

G-SYNC Demo

The below Blur Busters Test UFO motion test pattern uses motion interpolation techniques to simulate the seamless framerate transitions G-SYNC provides within the refresh rate, when directly compared to standalone V-SYNC.

G-SYNC Activation

“Enable 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, G-SYNC Compatible” box, apply, re-tick, and apply.

Blur Buster's G-SYNC 101: Control Panel

G-SYNC Windowed Mode

“Enable for windowed and full screen mode” allows G-SYNC support for windowed and borderless windowed mode. This option was introduced in a 2015 driver update, and by manipulating the DWM (Desktop Windows 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.

Note: this setting may require a game or system restart after application; the “G-SYNC Indicator” (Nvidia Control Panel > Display > G-SYNC Indicator) can be enabled to verify it is working as intended.

G-SYNC Preferred Refresh Rate

“Highest available” automatically engages when G-SYNC is enabled, and overrides the in-game refresh rate selector (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” adheres to the desktop’s current refresh rate, or defers control to games that contain a refresh rate selector.

Note: this setting only applies to games being run in exclusive fullscreen mode. For games being run in borderless or windowed mode, the desktop dictates the refresh rate.

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, with G-SYNC enabled, the “Vertical sync” option in the control panel no longer acts as V-SYNC, and 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), 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 range, G-SYNC is the only syncing method active, no matter the V-SYNC “On” or “Off” setting.

Currently, when G-SYNC is enabled, the control panel’s “Vertical sync” entry is automatically engaged to “Use the 3D application setting,” which defers V-SYNC fallback behavior and frametime compensation 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.”



3068 Comments For “G-SYNC 101”

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Sort by:   newest | oldest | most liked
elies
Member
elies

may i ask you please if you can makes an articale for the max pre rendered frame in NVCP and especially in battlefield 1 in combination of render ahead limit in config file.
its effect on input lag and CPU spikes (watched in perfoverlay drawgraph in battlefield 1 config file)
thank u

elies
Member
elies

one of the best article I have read, Thank u so much.
I was confused why I have tearing when I get close to my 144@ monitor FPS, even with fps limiter, now I have the answer and the best solution from your article.
BEST BEST BEST!!!

hiroshimus
Member
hiroshimus

I just got a BenQ Zowie XL 2720.

I’m only gonna use that for Xbox One and PS4.

I don’t play pc at all.

I don’t have a windows pc or laptop available to install the BenQ CD that came with the monitor and everything I read about all the settings I don’t understand quite well, there’s just a lot of information.

Can someone just tell me what settings should I put on my monitor to get the lowest input lag possible to play overwatch on xbox one? Pleaseee I’d really appreciate it!

Halfwit
Member
Halfwit

Excellent article, really well done!

I do have a question, though: if you just wanted to test the general input lag of the monitor, what settings would you use? Or, let’s break it down like this, as I’m equally interested to hear your opinion on all of these:

1. Would you use a game to test it (CS:GO, for example) or would you test it in Windows desktop?

2. Would you go for the crosshair method or the movement method?

3. What framerate and refresh rate would you set your monitor to, assuming it’s a 144 Hz G-Sync monitor?

Thanks in advance for your input!

Zanthra
Member
Zanthra

What interests me about Fast Sync is how it looks to the game. In general, when a video game is running it’s render loop, V-Sync (with or without G-Sync) will synchronously or asynchronously block the rendering of the next frame from starting until after the GPU discards the front buffer. Limiting the framerate with an in-game setting does something very similar, just using an internal clock between renders instead of using the GPU’s clock.

The thing about Fast Sync is that it presents itself as a non-blocking rendering pipeline, just as V-Sync off does. The GPU immediately gives it a free buffer to render to, allowing it to incorporate the latest data into that frame. If the game renders multiple frames in between vertical refreshes, the first ones are discarded to make room for the next frame to be rendered, and the GPU takes the latest complete frame for display on the next refresh.

Because of this, I think that Fast Sync can be seen as an alternative in many cases to limiting the FPS, especially on older games or low refresh rate displays where the game can get to multiples of the refresh rate, or games that don’t have an in-game FPS limit (since you can avoid the added latency of RTSS).

Ideally, there would be a extra low latency FPS Limit mode designed into games to go along with adaptive refresh rate solutions, where they use a feedback system like a PID to insert the waiting period (if the framerate is above the limit) before collecting the data to render the frame, based on an estimate of how long it will take to render the next frame.

The great benefit is that the adaptive refresh rate solves the problem of near misses if the estimated render time is off. If the frame is 1ms late, the monitor will simply wait for the frame to be complete and scan it out immediately when it is ready. If it’s 1ms early, the GPU will wait for the Vertical Sync. Either way, you get a minimum amount of time that any frame is finished rendering and not being displayed, where new input data cannot be integrated.

wpDiscuz