Cap your fps people (battlenonsense)

Everything about input lag. Tips, testing methods, mouse lag, display lag, game engine lag, whole input lag chain, VSYNC OFF vs VSYNC ON, and more! Input Lag Articles on Blur Busters.
Vega
Posts: 191
Joined: 18 Dec 2013, 21:33

Re: Cap your fps people (battlenonsense)

Post by Vega » 02 Oct 2019, 04:07

People are confusing two things. The significance of the Battlenonsense video is that excluding every other variable, simply having GPU usage below 95% in of itself reduced input lag significantly. No other testing before that revealed that info.

Ton's of people play with an FPS cap that keeps their VRR under their monitors maximum refresh rate YET still 99% GPU utilization. That means you will still get the input lag penalty. Not only do you want to cap the FPS under the monitors max refresh rate to keep VRR active at all times, you want to cap it low enough that GPU utilization never goes above 95%.

At this point unless GPU manufacturers fix it, you ideally would want a FPS cap under the monitors max refresh AND a GPU utilization cap utility, which as far as I know doesn't exist.

Sparky
Posts: 643
Joined: 15 Jan 2014, 02:29

Re: Cap your fps people (battlenonsense)

Post by Sparky » 02 Oct 2019, 05:54

Vega wrote:People are confusing two things. The significance of the Battlenonsense video is that excluding every other variable, simply having GPU usage below 95% in of itself reduced input lag significantly. No other testing before that revealed that info.

Ton's of people play with an FPS cap that keeps their VRR under their monitors maximum refresh rate YET still 99% GPU utilization. That means you will still get the input lag penalty. Not only do you want to cap the FPS under the monitors max refresh rate to keep VRR active at all times, you want to cap it low enough that GPU utilization never goes above 95%.

At this point unless GPU manufacturers fix it, you ideally would want a FPS cap under the monitors max refresh AND a GPU utilization cap utility, which as far as I know doesn't exist.
The location of the bottleneck is what matters, not the GPU utilization itself. If you cap the GPU to 95% utilization with a framerate cap implemented in the GPU, you still have the same problem, which is buffers before the GPU getting filled up and waiting on the GPU. This is why it's important to use an in-game framerate cap if at all possible. RTSS is a good option if an in game cap isn't available, because there are other framerate capping tools with higher latency, or at least there were 4~5 years ago when this stuff was being tested here. IIRC RTSS was one frame slower than an in game cap, and RadeonPro was two frames slower than an in game cap.

As for capping it low enough that GPU utilization never goes above 95%, in many games that's effectively the same as capping at your minimum framerate, which is also useful for consistency reasons, even if you're already CPU limited. But if you're CPU limited and you're using a GPU located cap, this will only add latency.

As for a dynamic cap to keep the pipeline empty, that's ideal, but it's on the game and engine developers to implement it, the GPU manufacturers don't have control over that part of the code. There's also a bit of a conflict, because marketing wants big framerate numbers and smooth demos, and you get those things with lots of buffering. Latency can't be judged until you actually get your hands on it.

Vega
Posts: 191
Joined: 18 Dec 2013, 21:33

Re: Cap your fps people (battlenonsense)

Post by Vega » 02 Oct 2019, 07:53

In Battlenonsense's testing, using RTSS FPS cap was actually lower input lag than in-game FPS limit. I think Mark got the same results. This also makes sense since RTSS can FPS limit down to the third decimal digit now. In-game FPS caps cannot do that.

The way that I am going to keep the pipeline clean is to play the game, find what 99% of the frames max 95% GPU utilization and below FPS is below monitors refresh rate for G-Sync and RTSS cap at that.

If the CPU/GPU can handle above the monitors max refresh while keeping GPU load consistently below 95%, I'll just use the normal cap 140 FPS for 144 Hz monitors, 160 FPS for 165 Hz monitors, etc.

User avatar
jorimt
Posts: 832
Joined: 04 Nov 2016, 10:44

Re: Cap your fps people (battlenonsense)

Post by jorimt » 02 Oct 2019, 09:20

Vega wrote:In Battlenonsense's testing, using RTSS FPS cap was actually lower input lag than in-game FPS limit. I think Mark got the same results. This also makes sense since RTSS can FPS limit down to the third decimal digit now. In-game FPS caps cannot do that.
While there are exceptions (some in-game limiters just don't work properly), generally, it's actually the opposite, and (proper) in-game FPS limiters have less input lag than an RTSS FPS limit:
https://www.blurbusters.com/gsync/gsync ... ttings/11/

I also explain why in more detail in my Closing FAQ of the article:
Okay, so then why exactly do in-game FPS limiters have less input lag than external FPS limiters again?

In-game FPS limiters (G-SYNC or no G-SYNC) almost always have less input lag than external FPS limiters because they can set an average FPS target at the engine-level (and let frametime run free) during the actual calculation of new frames, whereas external limiters can only set a fixed frametime target, and only after new frames have been calculated by the engine.

With RTSS, framerate limiting via a frametime target means its limiter, while slightly higher latency, is steadier when directly compared to in-game limiters. This actually makes RTSS better suited to non-VRR (variable refresh rate) syncing methods, such as standalone V-SYNC, where steadier frametimes are vital in minimizing the occurrence of mismatched synchronization between the GPU and display below the refresh rate.

For G-SYNC however, with its frametime compensation mechanism (G-SYNC + V-SYNC “On”), and it’s ability to adjust the refresh rate to the framerate down to the decimal level, smaller frametime variances aren’t as important, and thus, an in-game limiter is typically recommended for the lowest input lag possible.
But yes, regarding some of your other previous comments here, with VRR, so long as the FPS can be sustained above it at all times, an appropriately set (preferably in-game) FPS limit that both prevents the framerate from exceeding the VRR range AND the GPU usage from maxing out, is required for the lowest input lag.

This addresses both system-induced and sync-induced input lag.

As for Battle(non)sense's OP video here, it was obviously only covering the former (he had VRR/V-SYNC OFF for all those tests).
Author: Blur Busters "G-SYNC 101" Series

Display: Acer Predator XB271HU OS: Windows 10 Pro MB: ASUS ROG Maximus X Hero CPU: i7-8700k GPU: EVGA GTX 1080 Ti FTW3 RAM: 32GB G.SKILL TridentZ @3200MHz

User avatar
jorimt
Posts: 832
Joined: 04 Nov 2016, 10:44

Re: Cap your fps people (battlenonsense)

Post by jorimt » 02 Oct 2019, 09:54

Also, somewhat relevant to this discussion, I did briefly do similar off-the-record tests in the forums around the time I originally published the G-SYNC 101 article.

The below tests were done in Overwatch @144Hz on a 144Hz G-SYNC monitor (XB271HU), and basically checked for input lag differences between an uncapped GPU-bound FPS within the VRR range, an equivalent in-game (non-GPU-bound) FPS limit within the VRR range, and equivalent RTSS (non-GPU-bound) FPS limit within the VRR range, and their possible impact on pre-rendered frames behavior (which was equivalent to MPRF "1" in Overwatch with the in-game "Reduced Buffering" option enabled):

viewtopic.php?f=5&t=3441&start=110#p26975
June 25th, 2017, 2:06 pm

Okay, the results are in...

150% internal res was set, which allowed the test scene to hover in the mid to high 130s, with a 135 average. I set both the in-game and RTSS FPS limiter to 130, and tested them each.

The first result below is the previous uncapped test to compare the new tests with as a baseline. I did not test MPRF default/1 this time, as we've already established it makes no difference in this game.

G-SYNC + V-SYNC + mid to high 130s Uncapped + MPRF Default:
MIN: 35
AVG: 38
MAX: 41

G-SYNC + V-SYNC + 130 FPS In-game FPS Limit + MPRF Default:
MIN: 23
AVG: 28
MAX: 33

G-SYNC + V-SYNC + 130 FPS RTSS FPS Limit + MPRF Default:
MIN: 30
AVG: 33
MAX: 40

So in-game appears to have a 1-2 frame reduction (little over 1 1/2 frame average) compared to uncapped at the same framerate, and RTSS 0-1 frame reduction (nearly 1 frame average).

I'm certain this can vary depending on the given game, system, and sustained framerate at any given point.

It looks like from these tests, much like Fast Sync's third buffer utilizes the excess frames to reduce input latency/delivery time, good in-game limiters do the same thing, just at an earlier point in the input latency chain. Thus an optimal G-SYNC setup in any game would be to have frames above/well above the refresh rate, and cap 3 FPS below the refresh rate with an in-game limiter.
Author: Blur Busters "G-SYNC 101" Series

Display: Acer Predator XB271HU OS: Windows 10 Pro MB: ASUS ROG Maximus X Hero CPU: i7-8700k GPU: EVGA GTX 1080 Ti FTW3 RAM: 32GB G.SKILL TridentZ @3200MHz

Vega
Posts: 191
Joined: 18 Dec 2013, 21:33

Re: Cap your fps people (battlenonsense)

Post by Vega » 02 Oct 2019, 15:00

I re-watched the Battlenonsense input lag videos. You are right, in-game FPS limit slightly less lag than RTSS FPS cap. Although he did hint that RTSS may keep a more consistent FPS and hence smoother appearing motion versus in-game FPS limiters.

User avatar
jorimt
Posts: 832
Joined: 04 Nov 2016, 10:44

Re: Cap your fps people (battlenonsense)

Post by jorimt » 02 Oct 2019, 15:20

^ Correct, RTSS's tighter frametime performance (due to the fact that, unlike most in-game limiters, RTSS sets a fixed frametime target to limit the FPS), as well as its decimal-level limiting capability, is especially beneficial when using it to limit FPS just below the refresh rate for standalone fixed refresh V-SYNC scenarios, for instance.
Author: Blur Busters "G-SYNC 101" Series

Display: Acer Predator XB271HU OS: Windows 10 Pro MB: ASUS ROG Maximus X Hero CPU: i7-8700k GPU: EVGA GTX 1080 Ti FTW3 RAM: 32GB G.SKILL TridentZ @3200MHz

User avatar
sharknice
Posts: 282
Joined: 23 Dec 2013, 17:16
Location: Minnesota
Contact:

Re: Cap your fps people (battlenonsense)

Post by sharknice » 02 Oct 2019, 15:24

Would it be possible to cap GPU utilization instead of capping framerate? Or would the algorithm be impossible?

Do we even know exactly why lowering utilization reduces input lag?
100% gpu utilization causing extra input lag makes sense to me because the cpu finishes and has to wait for the gpu. That waiting period would be the extra delay, although I would think that would be almost unnoticeable with a good frame pacing algorithm. And what's the reason for the 94 to 97% sweet spot or whatever it was in his tests.

1000WATT
Posts: 121
Joined: 22 Jul 2018, 05:44

Re: Cap your fps people (battlenonsense)

Post by 1000WATT » 03 Oct 2019, 09:27

ffr.jpg
ffr.jpg (236.22 KiB) Viewed 468 times
don't understand =\

User avatar
tygeezy
Posts: 67
Joined: 29 Feb 2016, 21:56

Re: Cap your fps people (battlenonsense)

Post by tygeezy » 03 Oct 2019, 11:28

Hardware unboxed also posted a video where vsync on was showing lower input lag than gsync/freesync on several games. So im not sure how what their testing methodology is like, but perhaps the games they were testing they were running the game below the monitors refresh rae, so they weren't getting that vsync input lag penalty.

Post Reply