G-SYNC 101: External FPS Limiter HOWTO


In-game vs. External Framerate Limiters*

*As of Nvidia driver version 441.87, Nvidia has made an official framerate limiting method available in the NVCP; labeled “Max Frame Rate,” it is a CPU-level FPS limiter, and as such, is comparable to the RTSS framerate limiter in both frametime performance and added delay. The “Nvidia Inspector: 2> Frame Delay” setup detailed further below is legacy, and does not apply to the “Max Frame Rate” limiter, the setup of which is also now detailed below it.

As described in G-SYNC 101: In-game vs. External FPS Limiters, 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 lag; how much depends on the limiter and its implementation.

In-game framerate limiters, however, 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 with G-SYNC to prevent V-SYNC-level input lag instead.

RTSS is a CPU-level FPS limiter, and introduces up to 1 frame of delay, whereas Nvidia Inspector uses a driver-level FPS limiter, which introduces 2 or more frames of delay. See G-SYNC 101: In-game vs. External FPS Limiters for complete details, along with input latency tests comparing the two external solutions against an in-game limiter.

RivaTuner Statistic Server: <1 Frame Delay

RTSS is available standalone here, or bundled with MSI Afterburner here.

If only a framerate limiter is required, the standalone download will suffice. MSI Afterburner itself is an excellent overclocking tool that can be used in conjunction with RTSS to inject an in-game overlay with multiple customizable performance readouts.

Blur Buster's G-SYNC 101: External FPS Limiter HOWTO

RTSS can limit the framerate either globally or per profile. To add a profile, click the “Add” button in the lower left corner of the RTSS windows and navigate to the exe. To set a frame limit, click the “Framerate limit” box and input a number.

Nvidia Inspector: 2> Frame Delay

An unofficial extension of the official Nvidia Control Panel, Nvidia Inspector (download here) exposes many useful options the official control panel does not, including a driver-level framerate limiter.

Nvidia Inspector can limit the framerate either globally or per profile (more details on profile creation can be found here).

To set a frame limit, locate the “Frame Rate Limiter” dropdown in the “2 – Sync and Refresh” section, select the desired limit, and then click the “Apply Changes” button in the upper right corner of the Nvidia Inspector window.

Blur Buster's G-SYNC 101: External FPS Limiter HOWTO

As of Nvidia Profile Inspector version 2.1.3.6 and Nvidia driver branch R381 or later, a new “Frame Rate Limiter Mode” dropdown has been introduced with a “Limiter V2 – Force Off” option:

Blur Buster's G-SYNC 101: External FPS Limiter HOWTO

This option claims to reduce the limiter’s input lag; exactly by how much, and with what combination of settings, remains to be determined.

NVIDIA Control Panel: <1 Frame Delay

As of Nvidia driver version 441.87, Nvidia has made an official framerate limiting method available in the NVIDIA Control panel labeled “Max Frame Rate.”

To set a framerate limit, navigate to the “Manage 3D settings” section in the NVCP, locate the “Max Frame Rate,” entry, select “On,” set the desired limit, select “OK,” and finally select the “Apply” button after it appears in the lower right corner of the NVCP window.



3525 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
BloodyNZ
Member
BloodyNZ

Hey jorimt, thanks for this amazing article and all the research put into it.
My question is if everything present here still applies nowadays with all the new technology and it’s evolution, or anything changed.
I’m rocking a 5060ti but still on a 1080p 144hz display, so I’m trying to optimize it. I play a different range of games, from competitive to single-player. I just want a stable and consistent experience everywhere.

Treeplex
Member
Treeplex

Hello Dear jorimt! I am interested in one question, I will be grateful for the answer. In the game Fall Guys without vertical synchronization limit FPS 300, but with synchronization enabled FPS is equal to 360, what to do in this case?

KasaiRyujin
Member
KasaiRyujin

Hello jorimt, thanks for all the info.

I read almost all the pages of this post, but I’m still not sure what to set in my case.

I have a RTX 4090 + R7 7800X3D. I play on 1440p ~180Hz, so most games run at refresh rate. But I see that the frametime is unstable in some games.

I enabled G-SYNC and set V-Sync to “On”. Also set max framerate to 175 on NVIDIA App.

What should I do with Reflex and Low Latency Mode when I’m hitting refresh rate constantly?
I realized V-Sync has an option called “Fast”, should I use it?

Thanks in advance.

mike-lesnik
Member

Hello jorimt!
For what purpose did Nvidia choose such a significant frame limit for Reflex and LLM Ultra (for example 224 for 240Hz), if you prove that 2-3 frames are enough?

rundown
Member
rundown

Great series, thank you!

Sorry for yet another question about v-sync! 🙂 I do believe that screen tearing occurs with VRR on and v-sync off, but I’m trying to understand on a technical level how it happens with an FPS cap under the max refresh rate? Suppose a 144hz refresh and 140 fps cap.

My understanding is, the display waits in vertical blank until the new frame arrives and immediately scans it out in 1/144 seconds. If the frame limiter is doing its job, a new one shouldn’t arrive until 1/140 seconds after the first one, so the display should be in vblank again.

What am I missing — imperfections in the frame limiter?

wpDiscuz