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.



3062 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
toby23
Member
toby23

If I have a 120 Hz monitor with G-Sync and can achieve 115fps average in a game, is there any negative to locking the framerate to 59fps with RTSS to lower power consumption and smooth out Frametime?
Running unlocked in MSFS results in the Frametime jumping around all over the place but locking to 59 fps makes it steady.

PS Super article, thank you so much for keeping it updated.

Ryan Le
Member
Ryan Le

In Sea of Thieves, I have V-Sync turned off, but there is also an option to set the buffering to either double or triple, and there’s no off option. I set it to double buffering, but do I still need to enable V-Sync in NVCP? Would the in-game double buffering option (with in-game V-Sync off) conflict with NVCP V-Sync since it’s also running on double buffering?

Sequinoz
Member
Sequinoz

Hi Jorimt. A bit of a long comment here so I hope you don’t mind. Recently I bought a new G-Sync monitor (XG321UG) and noticed a peculiar G-Sync behaviour but I’m unsure if it’s abnormal or not.

To reproduce the behaviour, I ran the G-Sync Pendulum Demo application and manually changed the FPS from 60 to 50. The expected behaviour is a seamless framerate change with no noticeable stutter.

Instead, I noticed a ~0.2 seconds of continuous stutter from the moment the FPS changed from 60 to 50. It’s almost as if the G-Sync module tries to “catch up” to the sudden change in FPS.

Changing from 60 to 55 did not seem to show the problem much (if at all) and changing from 50 to 60 showed more of a one-time frame “jump”. Setting the FPS to gradually change back and forth between 60 and 40 seems to also be normal. Notably, the problem is less noticeable at higher FPS.

I tried testing my old G-Sync monitor (PG27AQ) and changing the FPS from 60 to 50 only seemed to show one stutter/frame jump but was less noticeable and did not stutter for as long as ~0.2 seconds.

I’m wondering if the symptom I’m seeing on my new monitor is normal or if it’s an indication that the G-Sync module is faulty.

As a side note: I also turned on the display’s built-in refresh rate counter and whenever I change FPS from 60 to 50, the refresh rate would go 60 > 49 > 43 > 49 > 50. Changing FPS from 60 to 55 instead showed 60 > 56 > 53 > 55. I’m unsure though if the built-in refresh rate counter is 100% accurate.

Perhaps the dips below the targeted FPS is the reason for the 0.2 secs stutter, which is more noticeable at lower targeted FPS and higher change in FPS. Again, I’m not fully sure about this and would like to know what you think.

Some more info that might be helpful~
GPU: RTX 3090
Driver Version: 551.46
Connection: DisplayPort (tried both cables that came with the old and new monitor but no difference)
Resolution: 3840 x 2160 Native
Refresh Rate: 144Hz Native
G-Sync Mode: On and Fullscreen Only. I heard the Pendulum Demo test overrides the G-Sync setting, in which case only the G-Sync option was used.

Indignified
Member
Indignified

Hello, why do pro players for fps games use uncapped fps instead of these settings? Are there any benefits to using uncapped fps?

Pyerimi
Guest
Pyerimi

Also I wanted to ask about what to do in case if ingame FPS limiter has bad implementation and introduce microstuttering like in this case: https://www.reddit.com/r/horizon/comments/i5p6io/pc_psa_do_not_use_the_ingame_fps_limiter_use_rtss/

Should I still use ingame option or RTSS?

wpDiscuz