G-SYNC 101: In-game vs. External FPS Limiters


Closer to the Source

Up until this point, an in-game framerate limiter has been used exclusively to test FPS-limited scenarios. However, in-game framerate limiters aren’t available in every game, and while they aren’t required for games where the framerate can’t meet or exceed the maximum refresh rate, if the system can sustain the framerate above the refresh rate, and a said option isn’t present, an external framerate limiter must be used to prevent V-SYNC-level input lag instead.

In-game framerate limiters, being at the game’s engine-level, are almost always free of additional latency, as they can regulate frames at the source. External framerate limiters, on the other hand, must intercept frames further down the rendering chain, which can result in delayed frame delivery and additional input latency; how much depends on the limiter and its implementation.

RTSS is a CPU-level FPS limiter, which is the closest an external method can get to the engine-level of an in-game limiter. In my initial input lag tests on my original thread, RTSS appeared to introduce no additional delay when used with G-SYNC. However, it was later discovered disabling CS:GO’s “Multicore Rendering” setting, which runs the game on a single CPU-core, caused the discrepancy, and once enabled, RTSS introduced the expected 1 frame of delay.

Seeing as the CS:GO still uses DX9, and is a native single-core performer, I opted to test the more modern “Overwatch” this time around, which uses DX11, and features native multi-threaded/multi-core support. Will RTSS behave the same way in a native multi-core game?

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

Yes, RTSS still introduces up to 1 frame of delay, regardless of the syncing method, or lack thereof, used. To prove that a -2 FPS limit was enough to avoid the G-SYNC ceiling, a -10 FPS limit was tested with no improvement. The V-SYNC scenario also shows RTSS delay stacks with other types of delay, retaining the FPS-limited V-SYNC’s 1/2 to 1 frame of accumulative delay.

Next up is Nvidia’s FPS limiter, which can be accessed via the third-party “Nvidia Inspector.” Unlike RTSS, it is a driver-level limiter, one further step removed from engine-level. My original tests showed the Nvidia limiter introduced 2 frames of delay across V-SYNC OFF, V-SYNC, and G-SYNC scenarios.

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

Yet again, the results for V-SYNC and V-SYNC OFF (“Use the 3D application setting” + in-game V-SYNC disabled) show standard, out-of-the-box usage of both Nvidia’s v1 and v2 FPS limiter introduce the expected 2 frames of delay. The limiter’s impact on G-SYNC appears to be particularly unforgiving, with a 2 to 3 1/2 frame delay due to an increase in maximums at -2 FPS compared to -10 FPS, meaning -2 FPS with this limiter may not be enough to keep it below the G-SYNC ceiling at all times, and it might be worsened by the Nvidia limiter’s own frame pacing behavior’s effect on G-SYNC functionality.

Needless to say, even if an in-game framerate limiter isn’t available, RTSS only introduces up to 1 frame of delay, which is still preferable to the 2+ frame delay added by Nvidia’s limiter with G-SYNC enabled, and a far superior alternative to the 2-6 frame delay added by uncapped G-SYNC.



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