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.



1149 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
AlianosFN
Member
AlianosFN

Hi, I have a question.

I play Fortnite competitively on a 165 Hz 1440p monitor with a GTX 1070 Ti using pretty much all the settings you recommended in this thread (gsync ON, vsync ON, game on fullscreen, fps limited in game files to 162, and finally low latency mode ON).

Now since the nvidia driver update from today got released the new nvidia Reflex Low Latency setting was added to the game. With the setting come 3 options: OFF, ON or ON + BOOST. A thing i noticed when i turned it to either ON or ON + BOOST was that instead of my fps cap being 162, my fps got capped at 158 (so 4 frames lower than the limit i set myself).

This raised a question;
Does turning the setting ON (or ON + BOOST) impact the way gsync works (also in combination with the other recommended settings in this thread)?
If so, what would you recommend me to do? Should i keep the nvidia reflex setting off? Or should i keep it on (since according to nvidia it reduces system delay) and change my fps cap to make up for the 4 frames i lost?

Ultimately i think my question is; how does the nvidia reflex low latency setting fit in the picture with gsync and the recommended settings in this thread?

Thanks in advance for taking the time to read/answer to my questions!

tomato884
Member
tomato884

does this apply to the new 30xx series with all the new reflex technology?

JediBrysen
Member
JediBrysen

should competitive players for any game but for my situation fortnite use this? I really just want low input delay while it being smooth

ankurszn
Member
ankurszn

i have the same question

Avean
Member
Avean

Could LLM = On with G-Sync cause frametime spikes in cases where the game uses its own frame queue? Cause in the end of the article you say you recommend testing this on per-game basis to see if worse or not. And if at best youre improving latency by 1 frame, its kinda best to leave it off i feel? Unless you want to fire up RivaTuner and monitor each game to see if improvements. But really the biggest impact is more framerate than whatever setting your LLM is at, feel people are kinda hung up on this setting 🙂

Glarbstintenford
Member
Glarbstintenford

Amazing guide and information, thank you so much!

I have a questions or two, sorry this ends up being so long but I wanted to also share the information I found and make it as clear as possible:

1 – Does the use of the smoothframes feature found in Unreal Engine 4 have any effect? I’m not sure how smoothframes & in game Vsync relate to each other with or without G-Sync and thought you could shed some light.

The game I play is online multiplayer only, and their servers currently run 30Hz tickrate, which in the near future will be increasing to 60Hz tickrate.

It has smoothframes and vsync enabled by default, using the default 22-62FPS range for smoothframes, with no in-game option to disable either or set an FPS limit. It also has what I am assuming is an in-game FPS limiter that you can manually adjust via editing the ini files. This line is FrameRateLimit= and the default is =0.000000.

Also just so you know this game has no in-game settings other than a resolution scale slider that’s it, and only runs in borderless fullscreen.

However you can edit GameUserSettings.ini and disable/enable vsync & smoothframes.

Now with or without G-Sync enabled I have discovered the following:

– If I use the games default settings of vsync and smoothframes enabled and FrameRateLimit=0 I am limited to 62FPS regardless of desktop refresh rate provided that my desktop refresh rate is higher than 63Hz **However if I set FrameRateLimit to any number up to and including 120 then my FPS limited to that number unless my desktop refreshrate is lower than the value set in FrameRateLimit= in which case it is limited to desktop refresh rate.

– If I disable in-game vsync and leave smoothframes enabled I am still limited to 62FPS regardless of desktop refresh rate if FrameRateLimit=0

– If I keep in-game vsync enabled and only disable smoothframes my FPS is capped to desktop refresh rate but only to 120 any refresh rate above that I’m still limited to 120FPS. Also worth noting this is when leaving FrameLimit=0.000000

– If I disable in-game vsync & disable smoothframes and FrameRateLimit=0 then my FPS is uncapped.

Wonderinig if smoothframes should be enabled or disabled, as well as if using FrameRateLimit should be used and am curious what your thoughts are about it all.

Thank you! 🙂

wpDiscuz