Driver 441.08: Ultra-Low Latency Now with G-SYNC Support

Talk about NVIDIA G-SYNC, a variable refresh rate (VRR) technology. G-SYNC eliminates stutters, tearing, and reduces input lag. List of G-SYNC Monitors.
User avatar
tygeezy
Posts: 67
Joined: 29 Feb 2016, 21:56

Re: Driver 441.08: Ultra-Low Latency Now with G-SYNC Support

Post by tygeezy » 14 Nov 2019, 19:29

Vleeswolf wrote:Another observation: since the NVIDIA Ultra Low Latency (NULL) feature was added, the FPS limiter in NVIDIA's driver, set through NVIDIA Profile Inspector, is also low latency, that is, sub-frametime latencies measured by PresentMon, similar to RTSS. You only set the FPS limit and let the "Frame Rate Limiter Mode" to default. Previously, that caused additional latency due to the Rendering Queue filling up, but that's exactly what the NULL feature has eliminated. Now it's possible to have low latency in GPU limited scenarios, when hitting the monitor's refresh rate, and when setting a custom frame rate limiter, all using just the driver :-)
I hope more testing is done on this. Forza horizon 4 only lets you framerate cap at 120, 60, and 30. You don't want to do 120 on a 120 hz display with gsync because you will be adding lag. You dont want to use 60, because we can go way above that framerate. RTSS is blocked in that game, so you cant use rtss.

If I can just use inspector for the albeit very few games that block rtss and don't have adequate in game capping that would be great.

georgi74
Posts: 1
Joined: 19 Nov 2019, 10:51

Re: Driver 441.08: Ultra-Low Latency Now with G-SYNC Support

Post by georgi74 » 19 Nov 2019, 10:55

I just tried out the low latency settings on ultra with vsync on, and it worked on Star Wars Fallen Order, I set the refresh rate of the monitor to 100hz, the game ran at 97 fps, so no need for the rtss.
However it did not work in Outer Worlds, which is also a DX11 game, the framerate went up to 100.
Will try it on other games.

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

Re: Driver 441.08: Ultra-Low Latency Now with G-SYNC Support

Post by jorimt » 19 Nov 2019, 12:00

georgi74 wrote:I set the refresh rate of the monitor to 100hz, the game ran at 97 fps, so no need for the rtss.
FYI, from the input lag levels depicted in Battle(non)sense's test video (see this post), when used in combination with G-SYNC, NULL effectively appears to be implementing an automatic version of the same driver-level framerate limiter that has been available for manual use via Nvidia Inspector for quite some time now (which pre-dates the NULL feature by several years).

As such, it still potentially has at least 1 to 1 & 1/2 frame more input lag than RTSS.

It's the reason why I suggest using NULL with G-SYNC only as a last resort for FPS limiting/input lag reduction purposes: (good) in-game FPS limiter > RTSS FPS limiter > NULL.
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

Vleeswolf
Posts: 31
Joined: 25 Aug 2017, 15:59

Re: Driver 441.08: Ultra-Low Latency Now with G-SYNC Support

Post by Vleeswolf » 19 Nov 2019, 13:26

Since the addition of the NULL, the Nvidia driver frame rate limiter appears also low latency. The driver api documentation** since then has a new field as well, PS_FRAMERATE_LIMITER_LOW_LATENCY_AUTO , which replaces a flag that Nvidia profile inspector already set by default. If you set the frame rate limit in Nvidia profile inspector, this seems to work fine. I’m seeing the same latency numbers (using PresentMon) as RTSS in most of my games. If you disable the new low latency profile flag, latency bumps up to 2-3 frames as before NULL, depending on pre-render queue settings.

** https://docs.nvidia.com/gameworks/conte ... d72661a71f

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

Re: Driver 441.08: Ultra-Low Latency Now with G-SYNC Support

Post by jorimt » 19 Nov 2019, 13:46

@Vleeswolf, PresentMon results aside (which I don't believe give the whole picture in this regard), the only actual (button-to-pixel, high-speed camera) input lag numbers we have to go by says NULL (w/G-SYNC) incurs 2 frames more input lag than the in-game limiter (and this is without being GPU-bound or outside the G-SYNC range, so we're seeing the input lag directly caused by framerate limiting here) when testing Overwatch:

Image

And when I tested Overwatch originally, RTSS only had 1 frame more input lag than in-game:

Image

Stands to reason then, that while the flag NULL uses may possibly have slightly lower lag than the previous limiting method available in Nvidia Inspector, it still may not be as low lag as RTSS (appears to be 1 frame more lag than RTSS with this new flag instead of the previous 2 frames with the old flag), at least not in all situations.
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

disq
Posts: 16
Joined: 10 Oct 2018, 16:05

Re: Driver 441.08: Ultra-Low Latency Now with G-SYNC Support

Post by disq » 19 Nov 2019, 14:27

How does one determine the effectiveness of an in-game FPS limiter? How do we know if it's a good one, better than RTSS?

As example, in Apex Legends when using the built-in FPS limiter (via Origin launch commands - +fps_max *number*) this is what i get:

Image
Image

while with RTSS:

Image
Image

(ignore those huge spikes at the end, it happens when going back to the game menu)

overall the frametimes when using in-game limiter tend to spike more

Vleeswolf
Posts: 31
Joined: 25 Aug 2017, 15:59

Re: Driver 441.08: Ultra-Low Latency Now with G-SYNC Support

Post by Vleeswolf » 19 Nov 2019, 16:09

Jorimt, you are right, these new options require new rounds of end-to-end testing. Although I am fairly confident that PresentMon includes the relevant sources of latency to measure influence of frame rate limiting, sync, render queuing. It does not record latency coming from USB devices, monitors, etc, thus it will not tell you the full latency the user experiences.

I have been doing end-to-end latency testing as well, but held off publishing those results thus far. They are less professional with respect to hardware involved as some of you guys have been doing, but given sufficient samples, results are probably trustworthy. My recording device (iPhone 8 with 240 fps camera) has a lower temporal resolution than the 1000 fps cameras around, thus results can be expected to have more variance.

You can find my documentation here: https://docs.google.com/spreadsheets/d/ ... sp=sharing

The "Method and results" tab documents how I measure, and contains the raw results. "Analysis" sums up the results per measurement group, which gives the best overview, and then there are several graphs.

For the game Prey (2017) I did 7 measurements with just NULL and found it performs on par with the game's own limiter (1 ms difference in the mean). I'll try to do other games as well as time permits.

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

Re: Driver 441.08: Ultra-Low Latency Now with G-SYNC Support

Post by jorimt » 19 Nov 2019, 16:12

disq wrote:How does one determine the effectiveness of an in-game FPS limiter? How do we know if it's a good one, better than RTSS?
It's not always straightforward. That said, there are some ways to tell...

First off, a lot of modern games share engines. Typically, to the best of my knowledge, engines such as UE3, UE4 (which many modern games currently make use of), Frostbite, Overwatch, and Source (Apex Legends being one of them) have in-game FPS limiters that have lower input lag than RTSS. At worst, while I haven't come across this, some in-game limiters may have the same input lag as RTSS.

As for frametime peformance, unless you're seeing the difference between the RTSS and in-game FPS limiter with your own eyes where stutter, frametime spikes, or general frame pacing is concern, ignore the graph; RTSS can read an in-game limiter above and below the set FPS limit, but when you're limiting FPS with RTSS, it can't read anything above it's own set limit, which is why the graph looks perfectly flat when your framerate is sustained above it.

In reality, RTSS fluctuates as well (around 1 frame drift), just not as much as in-game limiters (anywhere from 1-3 frame drift, typically).

Lastly, some FPS limiters (like Source) will sometimes (depending on the game) report a lower/higher FPS than the limit you have set. For instance, during my original tests, I set CS:GO's limiter to 142, and it hovered around the 138-139 mark.

In that case, it's fine (better for it to hover slightly lower than your set limit as opposed to higher), but, for in-game limiters, you want to make sure the reported limit matches the set limit, even if that means raising or lowering it slightly past your intended number (though I'd say this behavior is rare as well).

Otherwise, unless the in-game limiter in question is particularly unstable/unreliable (the only recent in-game limiter I can think of is the one featured in the modern CoD titles), then G-SYNC will take care of smoothing out any frametime inconsistencies the in-game limiter introduces over RTSS, all the while giving you lower input lag levels.

All told though, if you don't want to be bothered by any of this and aren't sure about the in-game limiter in question (barring the aforementioned UE4, Frostbite, Overwatch, and Source engines), RTSS is always better than an uncapped framerate (even without syncing, so long as it is the framerate's limiting factor), is basically neutral input lag-wise (good in-game limiter effectively create a negative reduction in input lag), has excellent frametime performance, and can be used consistently in the majority of games without worry.
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: 834
Joined: 04 Nov 2016, 10:44

Re: Driver 441.08: Ultra-Low Latency Now with G-SYNC Support

Post by jorimt » 19 Nov 2019, 17:16

Vleeswolf wrote:Jorimt, you are right, these new options require new rounds of end-to-end testing.

[...]

You can find my documentation here: https://docs.google.com/spreadsheets/d/ ... sp=sharing
Thanks for sharing @Vleeswolf.

Unfortunately, I have more time to talk about this than I do to act on it currently. I have the means to test this (preferably in Overwatch) using my article's original test equipment (but for the monitor, with a 144Hz model in it's place) and methodology, but not the time (day job).

That, and again, Battle(non)sense's recent testing on this has shown, in the case of Overwatch, that NULL appears to have about 1 frame more lag than RTSS, as RTSS, from previous testing, has already been shown to have 1 frame more lag than a (good) in-game limiter. Though, with NULL, that's still a 1 to 2 frame reduction over the previous Nvidia Inspector limiter.

That said, the difference in input lag between NULL (and any external FPS limiter for that matter) and the in-game limiter is obviously going to depend on the game. I've never tested the CryEngine limiter, so I'm not sure how it compares to the Overwatch or Source engine, for instance.

If you continue your testing, I'd suggest (so long as either are easily available to you) you test in a game where we already know what to expect from its limiter (Overwatch and/or CS:GO).
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

disq
Posts: 16
Joined: 10 Oct 2018, 16:05

Re: Driver 441.08: Ultra-Low Latency Now with G-SYNC Support

Post by disq » 19 Nov 2019, 20:34

We are lucky to have you on this community, jorimt. Thank you for all the help & information you provide us with.

:)

Post Reply