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


So Close, Yet So Far Apart

On the subject of single, tear-free frame delivery, how does standalone double buffer V-SYNC compare to G-SYNC with the same framerate limit?

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

As the results show, but for 60Hz (remember, a “frame” of delay is relative to the refresh rate), the numbers are relatively close. So what’s so great about G-SYNC’s ability to adjust the refresh rate to the framerate, if the majority of added input latency with V-SYNC can be eliminated with a simple FPS limit? Well, as the title of this section hints, it’s not quite that cut and dry…

While it’s common knowledge that limiting the FPS below the refresh rate with V-SYNC prevents the over-queuing of frames, and thus majority of added input latency, it isn’t without its downsides.

Unlike G-SYNC, V-SYNC must attempt to time frame delivery to the fixed refresh rate of the display. If it misses a single one of these delivery windows below the maximum refresh rate, the current frame must repeat once until the next frame can be displayed, locking the framerate to half the refresh rate, causing stutter. If the framerate exceeds the maximum refresh rate, the display can’t keep up with frame output, as rendered frames over-queue in both buffers, and appearance of frames is delayed yet again, which is why an FPS limit is needed to prevent this in the first place.

When an FPS limit is set with V-SYNC, the times it can deliver frames per second is shrunk. If, for instance, the FPS limiter is set to 59 fps on a 60Hz display, instead of 60 frames being delivered per second, only 59 will be delivered, which means roughly every second a frame will repeat.

As the numbers show, while G-SYNC and V-SYNC averages are close over a period of frames, evident by the maximums, it eventually adds up, causing 1/2 to 1 frame of accumulative delay, as well as recurring stutter due to repeated frames. This is why it is recommended to set a V-SYNC FPS limit mere decimals below the refresh rate via external programs such as RTSS.

That said, an FPS limit is superior to no FPS limit with double buffer V-SYNC, so long as the framerate can be sustained above the refresh rate at all times. However, G-SYNC’s ability to adjust the refresh rate to the framerate eliminates this issue entirely, and, yet again, beats V-SYNC hands down.



1360 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
andro92
Member
andro92

First of all thank you for your amazing work.

Now if i understand it all correctly, the optimum usage is this:

Nvcp vsync on, gsync on, frame cap -3/141fps (140 for me thanks to my ocd 🙂 i dont wanna bother with additional app rtss. The latest nvcp frame cap should be on par right ? So set and forget situation from nvcp.

Now my confusion comes from ullm. I have a good cpu. 9900k overclocked to fixed 4.9ghz at all times. Im using windows high perf power plan as well. Gpu is 2080s at 1440p. 32 gig 3733mhz cl16 ram, m2 ssd, clean windows 10 pro without bloatware (again thanks to my ocd). Also i have custom water loop so temps are all ok.

If i set ullm on or ultra all times(set & forget) will i see any negative effect ?

Sample1: game runs at 40-80 fps, gpu bound
Sample2: game runs at set fps cap 140, no gpu bound
Sample3: game runs at 60fps internal limit(mortal kombat 11, ds3, sekiro) no gpu bound.
Sample4: no sync, fixed refresh rate, gpu bound vs no gpu bound.
Note: cpu usage is always low, mostly below 30 but i understand system hiccups can happen even with the cleanest systems.

And what is the difference between on/ultra/ingame reflex ?

Effect of nvcp power management mode ? Should i leave it at default or choose maximum performance. Its ok if it consumes more power.

I’m fan of set&forget type of usage and i dont care if ullm ultra adds another fps limit below my fps limit for some specific game. But i dont want extra input lag or some bug.

My second question:

I was competitive Overwatch player, now i play Mortal Kombat 11 competitively. Motion blur, backlight strobing etc not as important in this but input lag is important. Even 1 frame matters in this game to take your turn. This game designed around 60 fps and it does not strain my gpu however it fluctates between 58-60. What settings are best for this specific game ? Can ullm on or ultra add more input lag if i set&forget ?

And the last topic sorry for wall of text:

Now gsync monitors are 30-144, gsync compatibles are 48-144. My question is how seamless is this this “lfc” or hz doubling/tripling. If my game runs between 40-60 fps is it better to just disable gsync for more fluid experience. What happens at the exact moment when the lfc kicks in ? What is the difference between adaptive sync and gsync module in this topic ?

blabliblu
Member
blabliblu

Thank you for this article.

The main reason I wanted to enable G-Sync (Freesync, in my case) was because playing AC: Valhalla on 4K on my RTX 3080 with V-Sync on causes heavy stuttering when the game drops below 60 FPS, while without V-Sync there’s massive tearing action going on (every 2-3 seconds, it’s horrible.)

Now, I might be missing something here, and I understand what’s written in the article, but if I enable G-Sync, and enable V-Sync on top of it in the Nvidia Control Panel, I still suffer from the same exact stuttering when the game drops below 60 FPS. And indeed, disabling V-Sync stopped the game from stuttering and fixed the issue, with the occasional and very rare tearing compared to a non-V-Sync experience, which is a trade-off I can live with.

So, what gives? Should I just keep V-Sync off, then? Or maybe set my V-Sync to “Fast” in the Nvidia Control Panel?

depatere
Member
depatere

First of all, thank you so much for this guide. This has been a lifesaver for me since getting my PG278Q a while ago.

I do have a question if you don’t mind. I recently upgraded my system to 5950X, 32gb 3600 CL16 RAM paired with a 2080 RTX and followed the guide in setting the best options for low latency G-Sync gaming.

My V-sync is on, I use ULLM on “Ultra”, “Performance mode” and use the Nvidia framelimiter for games that do not support ULLM to “141fps”.
However, with this capable system, I would assume I’d get the smoothest experience there is!

This unfortunately is not true. While in Rainbow Six Siege, I could be going around in circle with my mouse while moving, and you can see/feel some micro frame skips. Sometimes a bit longer. If I’d check my FPS counter, this goes from 138 FPS to maybe 136 or 120 or in some situations not lower than 138, but still I have the feeling it skips some frames, resulting in less smooth experience.

In DOOM after reloading a checkpoint, it takes a while to go to my refreshrate from 74 FPS during loading and then shooting upwards to 138 FPS again.

Is this caused by enabling G-Sync? Should I put ULLM to “On” instead of Ultra to avoid this?
Is this what frametime skips are called?

Hopefully, you’ll have the time to help me out, I’d certainly would donate as you guys are doing great work!

WonderGoliath
Member
WonderGoliath

Hi, when i’m playing certain games on a gsync 144hz monitor, i usually cap the frame rate for a more smoother experience. For instances, 60 fps capped on demanding games since my gpu couldn’t keep up. However, i noticed there’s framerate dip periodically (e.g. 60 to 57 etc). Only occur on 60 fps capped but not let’s say maybe higher? Like 70 or even 80 for some reason. What cause?

Scuggan
Member
Scuggan

Hey I’ve just add a second monitor (non gsync 60 Hz) and was wondering about global vsync. Will global vsync cause any problems with a dual monitor setup?
I know windows doesn’t handle dual monitor setups very well anyway but would it be better setting vsync on for each individual game and not global?

wpDiscuz