G-SYNC 101: G-SYNC vs. V-SYNC OFF w/FPS Limit


At the Mercy of the Scanout

Now that the FPS limit required for G-SYNC to avoid V-SYNC-level input lag has been established, how does G-SYNC + V-SYNC and G-SYNC + V-SYNC “Off” compare to V-SYNC OFF at the same framerate?

Blur Buster's G-SYNC 101: Input Latency & Optimal Settings
Blur Buster's G-SYNC 101: Input Latency & Optimal Settings
Blur Buster's G-SYNC 101: Input Latency & Optimal Settings
Blur Buster's G-SYNC 101: Input Latency & Optimal Settings
Blur Buster's G-SYNC 101: Input Latency & Optimal Settings
Blur Buster's G-SYNC 101: Input Latency & Optimal Settings

The results show a consistent difference between the three methods across most refresh rates (240Hz is nearly equalized in any scenario), with V-SYNC OFF (G-SYNC + V-SYNC “Off,” to a lesser degree) appearing to have a slight edge over G-SYNC + V-SYNC. Why? The answer is tearing…

With any vertical synchronization method, the delivery speed of a single, tear-free frame (barring unrelated frame delay caused by many other factors) is ultimately limited by the scanout. As mentioned in G-SYNC 101: Range, The “scanout” is the total time it takes a single frame to be physically drawn, pixel by pixel, left to right, top to bottom on-screen.

With a fixed refresh rate display, both the refresh rate and scanout remain fixed at their maximum, regardless of framerate. With G-SYNC, the refresh rate is matched to the framerate, and while the scanout speed remains fixed, the refresh rate controls how many times the scanout is repeated per second (60 times at 60 FPS/60Hz, 45 times at 45 fps/45Hz, etc), along with the duration of the vertical blanking interval (the span between the previous and next frame scan), where G-SYNC calculates and performs all overdrive and synchronization adjustments from frame to frame.

The scanout speed itself, both on a fixed refresh rate and variable refresh rate display, is dictated by the current maximum refresh rate of the display:

Blur Buster's G-SYNC 101: Scanout Speed DiagramAs the diagram shows, the higher the refresh rate of the display, the faster the scanout speed becomes. This also explains why V-SYNC OFF’s input lag advantage, especially at the same framerate as G-SYNC, is reduced as the refresh rate increases; single frame delivery becomes faster, and V-SYNC OFF has less of an opportunity to defeat the scanout.

V-SYNC OFF can defeat the scanout by starting the scan of the next frame(s) within the previous frame’s scanout anywhere on screen, and at any given time:

Blur Buster's G-SYNC 101: Input Lag & Optimal Settings

This results in simultaneous delivery of more than one frame scan in a single scanout (tearing), but also a reduction in input lag; the amount of which is dictated by the positioning and number of tearline(s), which is further dictated by the refresh rate/sustained framerate ratio (more on this later).

As noted in G-SYNC 101: Range, G-SYNC + VSYNC “Off” (a.k.a. Adaptive G-SYNC) can have a slight input lag reduction over G-SYNC + V-SYNC as well, since it will opt for tearing instead of aligning the next frame scan to the next scanout when sudden frametime variances occur.

To eliminate tearing, G-SYNC + VSYNC is limited to completing a single frame scan per scanout, and it must follow the scanout from top to bottom, without exception. On paper, this can give the impression that G-SYNC + V-SYNC has an increase in latency over the other two methods. However, the delivery of a single, complete frame with G-SYNC + V-SYNC is actually the lowest possible, or neutral speed, and the advantage seen with V-SYNC OFF is the negative reduction in delivery speed, due to its ability to defeat the scanout.

Bottom-line, within its range, G-SYNC + V-SYNC delivers single, tear-free frames to the display the fastest the scanout allows; any faster, and tearing would be introduced.



3745 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
higorhigorhigor
Member
higorhigorhigor

In my tests with the AMD RX 6750 XT, an LG 180hz IPS monitor, on both Linux and Windows 11, I noticed that when I cap the FPS at 60, for example, in scenarios that could deliver 160 uncapped, what happens is that my GPU significantly reduces its clock speeds, and this creates instability in frame production, causing the refresh rate to fluctuate widely.

On Linux, in LACT (a program for managing GPUs on Linux), I created a profile for the specific game and activated a performance level option that keeps the clock speeds higher. This completely solved the problem that occurs when I limit the FPS far below what my GPU can produce.

On Windows, I haven’t found a similar option to this, but I also haven’t looked much since I’m not using Windows a lot. I came here to comment, so that in case you weren’t aware of this, it might help other users who feel they have this VRR disengagement issue even when the FPS seems stable in RTSS.

COLEDED
Member
COLEDED

Thanks for the detailed guide. Sorry if this is a mostly unrelated question, I ask because the power plan is mentioned in the conclusion section.

My default Window’s “High performance” plan puts my minimum processor state at 0% for some reason.

Is it a good idea to just use Bitsum’s highest performance plan from park control, which sets the Minimum processor state at 100%, all of the time? I haven’t seen an increase in idle CPU power consumption or utilization after changing to this profile

Does this setting actually changes anything?

PODDAH
Member
PODDAH

Before you read this, I’m sorry for wasting your time if this question has already been answered in the article or in the comments. I tried to read everything to the best of my ability and still am a bit confused because my English is not the best.

Hey, I’m just writing this to make sure that I’m using the best setting. I have adaptive sync on in my monitor’s settings, which enables me to use G-Sync, and then I have G-Sync compatible enabled and V-Sync enabled too on in NCP, and the preferred refresh rate is at application controlled. I tried checking the delay and everything in Fortnite, because it has a setting which lets me do that. This gives me the least amount of delay, and even if I change my preferred refresh rate to the highest available, it still pretty much gives the same delay. I also have my FPS cap in Fortnite set to 144 just in case. I tried other things, and either they give me screen tearing or more delay. I only have one question: is this good enough to get the least amount of delay without getting any screen tearing?

CyclesOfJosh
Member
CyclesOfJosh

Hi there! I just stumbled upon this through a YouTube comment section, thank you so much for your hard work!

I was about to test the optimal settings in Overwatch when I noticed that in the Nvidia settings, there is a second option for V-Sync called “Fast”.
Is there any information on how that interacts with G-Sync and if it will have the same effect as it does with regular V-Sync? Would love to see if there’s more information on this!

kdog1998
Member
kdog1998

I have a question about my monitors VRR and if you know if there’s a fix for this or if I possibly have a bad monitor?

I have on G sync as recommended by you, using a Riva Tuner fps cap of 60 for final fantasy xvi. I have a perfectly flat frame time graph per riva tuner, but my game feels extremely jittery when I move around, especially when moving the camera. I figured out that my monitors on screen display that shows what it’s refreshing at is constantly bouncing around when using g sync and adaptive sync on. It will bounce from 60 to 52 to 67 to 48 to 180 (which is my max refresh) back to 60 to 77 and etc.. so despite my game holding a locked in 60 fps with a flat frame time graph, my monitor doesn’t seem to be refreshing at 60 and it seems to be bouncing around.

Is this normal? Or did I just happen to get a bad monitor or graphics card? My monitor is the ASUS VG27AQ3A, I have had it for about 6 months and have been thinking from the beginning something may be off with it. Any help would be great!

wpDiscuz