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.



347 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
dotyerts
Member
dotyerts

I’ve been reading your stuff for years. Appreciate all of it.
Let me get this summarized in one quick writeup.

I have a freesync compatible monitor viotek gft27db 144hz. If i enable G-SYNC properly with my DP cable on an RTX 2070, and have VSYNC ON, as well as + NULL, then I should
1. be all good in terms of enabling GSYNCwithout the issues of VSYNC off causing tearing sometimes.
2. NOT be required to Limit my fps to 141 by using RTSS? I’m currently using it limited to 141 to stay under and avoid the buffer flip interval.
2.b. wondering if this is the case, so I can turn off RTSS and retrieve that minuscule amount of input lag it causes.

nuk_won
Member
nuk_won

Tell me if I am wrong. But I think I figured it out. G-sync it self don’t ad input lag so if i have it I might as well turn it on to get stutter/screen tearing free game play. So as I understand u turn g-sync on + vsync off find the fps by caping it 165 then 164 ect where there is no screen tearing at bottom of the screen let’s say it would be 158 then u go Nvidia control panel turn g-sync on vsync off set low latency to ultra and cap ur fps at 158 and this is the way u get lowest input lag + as it would be running a monitor who don’t have g-sync and just caping fps at 165fps but this way u don’t get the benefits as smooth game play no stuttering. This would be best only for GPU bound games like apex legends other games that use CPU this could increase input lag? Please correct me if I’m wrong or maybe I need to turn g-sync off set fixed refresh rate null set to ultra fps cap at 165. Main game is apex legends. This I how I run the game currently.

Specs pc: 87k at 4.5gh 1080ti oc. Monitor: AOC 24″ 2k rez 165hz g-sync.

Ownsin
Member
Ownsin

Hey there. Can I ask If I should turn on V-Sync in-game or from the Nivida Control Panel for my G-Sync 144hz monitor? I recently watched a video for Battlenonesene where he says turning on V-Sync inside of games is better than turning it on from the NVCP because some engines have optimizations for their V-Sync. What’s your take on this matter?

Another thing I want to bring up. Can you tell me what’s the difference between turning on V-Sync and Fastsync from the NVCP? as far as I know, Fastsync eliminates tearing, leaves the frame rate unlocked and doesn’t add nearly as much input lag as regular V-Sync, so why is it recommended that we use V-Sync instead of Fastsync?

P.S: which frame limiter do you suggest I should use.

Thank you.

gzmm
Member
gzmm

Hello, i have a samsung C24FG73, with 70~144hz freesync range.
for me, gsync+vsync in driver with 138 fps limiter seens to be working very well.
but, if a game is locked at 60 frames, the gsync will be ‘disable’, and only vsync will work, correct?
this will introduce alot of input lag, or the FLC helps?

buddersnaps
Member
buddersnaps

Hi when running a game that GPU is using 100% resources do i still want NVCP v sync set ON and low latency set to Ultra. i have g sync monitor thats 144hz. i have games capped at 141 but get about 100 – 120 most of the time. are my settings still correct when getting frames below monitor refresh rate and GPU bound using NVCP v sync ON, low latency ULTRA, Gsync ON, and in game fps capped to 141 and vsync off?

then to clarify when not gpu bound just use the “on” option instead of ultra for low latency?

also monitor has ULMB or should i just stick with gsync? if i used ULMB what would i do for vsync and latency options?

wpDiscuz