PC Latency - Vsync with/without Framerate cap

Everything about latency. This section is mainly user/consumer discussion. (Peer-reviewed scientific discussion should go in Laboratory section). Tips, mouse lag, display lag, game engine lag, network lag, whole input lag chain, VSYNC OFF vs VSYNC ON, and more! Input Lag Articles on Blur Busters.
User avatar
RealNC
Site Admin
Posts: 4657
Joined: 24 Dec 2013, 18:32
Contact:

Re: PC Latency - Vsync with/without Framerate cap

Post by RealNC » 07 Jun 2026, 20:38

2mg wrote: ↑
07 Jun 2026, 20:23
Still, that means if FPS>Hz with Vsync, there's an extra buffer somewhere that gets filled?
All you gotta think about is what happens when the game presents more frames than the display can handle and you have vsync enabled. Those frames need to be stored somewhere and wait their turn so they don't get lost. And when the game keeps presenting too fast after it's not possible anymore to store any more frames because the "storage" if full, what happens then?

This is all there is to it. If you can make the game not do that to begin with, the problem is solved.
Steam • GitHub • Stack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

2mg
Posts: 66
Joined: 17 Jul 2018, 22:08

Re: PC Latency - Vsync with/without Framerate cap

Post by 2mg » 08 Jun 2026, 13:15

RealNC wrote: ↑
07 Jun 2026, 20:38
All you gotta think about is what happens when the game presents more frames than the display can handle and you have vsync enabled. Those frames need to be stored somewhere and wait their turn so they don't get lost. And when the game keeps presenting too fast after it's not possible anymore to store any more frames because the "storage" if full, what happens then?

This is all there is to it. If you can make the game not do that to begin with, the problem is solved.
Yes, but it's odd that it's irrelevant if you set 61FPS, 120FPS, or unlimited, latency jumps up equally, about +40ms which is ~2 frames on 60hz screen, compared to 60fps@60Hz limit.

User avatar
RealNC
Site Admin
Posts: 4657
Joined: 24 Dec 2013, 18:32
Contact:

Re: PC Latency - Vsync with/without Framerate cap

Post by RealNC » 08 Jun 2026, 19:45

2mg wrote: ↑
08 Jun 2026, 13:15
Yes, but it's odd that it's irrelevant if you set 61FPS, 120FPS, or unlimited, latency jumps up equally, about +40ms which is ~2 frames on 60hz screen, compared to 60fps@60Hz limit.
But I just explained why this happens :P With 61 and 120, you're in the "faster than the display can handle" case. It doesn't matter how much faster.
Steam • GitHub • Stack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

2mg
Posts: 66
Joined: 17 Jul 2018, 22:08

Re: PC Latency - Vsync with/without Framerate cap

Post by 2mg » 17 Jun 2026, 05:47

RealNC wrote: ↑
08 Jun 2026, 19:45
But I just explained why this happens :P With 61 and 120, you're in the "faster than the display can handle" case. It doesn't matter how much faster.
Yes, I understand.

What I meant is that when FPS>60hz there is don't know how to put this better but a specific "max extra latency buffer", it doesn't grow if you go from 61 to to 120 or 999fps - which was also news to me.

User avatar
RealNC
Site Admin
Posts: 4657
Joined: 24 Dec 2013, 18:32
Contact:

Re: PC Latency - Vsync with/without Framerate cap

Post by RealNC » 17 Jun 2026, 10:23

2mg wrote: ↑
17 Jun 2026, 05:47
What I meant is that when FPS>60hz there is don't know how to put this better but a specific "max extra latency buffer", it doesn't grow if you go from 61 to to 120 or 999fps - which was also news to me.
Games user either 2 or 3 buffers. It's known as "double-buffered vsync" and "triple-buffered vsync."

It is possible to specify a maximum render latency when under vsync pressure. Double-buffered vsync has a render latency of 2, and triple-buffered a render latency of 3. But you can configure the swapchain to only ever use 1 buffer, so you get very low vsync lag. Unfortunately, games never expose this setting. They just use the default value when then configure their swapchain in DXGI.

For many DX11 games, you can change this using Special K. Here for example is how this game normally runs:

default_swapchain.png
default_swapchain.png (96.93 KiB) Viewed 1004 times

This is full vsync lag with a render latency of 3. We can change it to a render latency of just 1, and when the game responds well to it (doesn't crash), all the lag is gone and render latency is just 1 frame because now DirectX itself will prevent buffers from filling up:

tweaked_swapchain.png
tweaked_swapchain.png (95.55 KiB) Viewed 1001 times

The swapchain buffer count can also be changed, although if the game responds well to the "max device latency" change, you don't need to and a value of 3 buffers is best to protect against FPS halving when the frame rate falls below the vsync rate.

Unfortunately, this doesn't work for DX12 games as it can't be forced externally there without the game crashing. DX12 games would need to offer this setting themselves (which of course no game does.)

The only game I remember offering this setting was Overwatch many years ago. I don't know of any other.

Note that when capping your FPS slightly below vsync rate, render latency isn't even 1. It's 0. So it's the lowest latency possible since only the front buffer is ever used.
Steam • GitHub • Stack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

2mg
Posts: 66
Joined: 17 Jul 2018, 22:08

Re: PC Latency - Vsync with/without Framerate cap

Post by 2mg » 19 Jun 2026, 20:06

RealNC wrote: ↑
17 Jun 2026, 10:23
...
I've played around with SK too, good stuff.
I've dabbed in low latency Vsync options too.

Anyway just to conclude with what I've learned here that I wasn't really aware of before - if I'm not starving Vsync buffers (FPS-0.XXX<Hz or RTSS/SK sync or VRR) I should at least limit the game so FPS=Hz, and if I don't do that then latency will jump even more but it's irrelevant how much FPS>Hz is, it will always be a fixed amount of more latency.

I presume having ULLM=Ultra might have an effect on that (extra) latency here, or perhaps which type of Vsync the game is using, but the FPS>Hz latency isn't infinitely scaling.

Since VRR was mentioned, I've seen there's a semi-complicated formula, at least for 240Hz displays, where Reflex caps FPS to 225FPS, I can't find it now, if you have it (for NV, heard AMD has a different one perhaps?) please post it.
To tie in two questions then, is it better to forgo Reflex in that case and use a manual cap of 235-237FPS, and does ELMB Sync behave equally at 225FPS vs 235-237FPS (setting aside how ELMB Sync looks in general)?

And since LFC is a part of VRR, I've also heard and ofc I can't find it now, that NV has a different threshold and/or multiplier compared to AMD?

User avatar
RealNC
Site Admin
Posts: 4657
Joined: 24 Dec 2013, 18:32
Contact:

Re: PC Latency - Vsync with/without Framerate cap

Post by RealNC » 20 Jun 2026, 05:13

2mg wrote: ↑
19 Jun 2026, 20:06
Anyway just to conclude with what I've learned here that I wasn't really aware of before - if I'm not starving Vsync buffers (FPS-0.XXX<Hz or RTSS/SK sync or VRR) I should at least limit the game so FPS=Hz, and if I don't do that then latency will jump even more but it's irrelevant how much FPS>Hz is, it will always be a fixed amount of more latency.
The thing here is that when you cap your FPS to a rate that will never actually trigger the FPS limiter, then nothing happens. It's like you're not using a limiter at all. 60Hz vsync with a 61FPS cap is the same as with a 120FPS cap because in both cases the limiter is not being activated and does absolutely nothing.
I presume having ULLM=Ultra might have an effect on that (extra) latency here, or perhaps which type of Vsync the game is using
I remember the "max prerendered frames" setting years ago (over 6 years ago when I tested it) had an effect. For testing, I've set it to 7 in profile inspector and got a very high render latency (probably 8) in games, with is of course completely unplayable. Nowadays, it does nothing. Setting to 1 or 7, or anything else, same thing. Doesn't do anything. No idea why.
Since VRR was mentioned, I've seen there's a semi-complicated formula, at least for 240Hz displays, where Reflex caps FPS to 225FPS, I can't find it now, if you have it (for NV, heard AMD has a different one perhaps?) please post it.
3600 * Hz / (Hz + 3600)
To tie in two questions then, is it better to forgo Reflex in that case and use a manual cap of 235-237FPS
Reflex has two parts. One is the latency reduction by avoiding full saturation of the GPU when running without any FPS cap (for example with vsync OFF and completely uncapped FPS.) The other is the Reflex FPS limiter, which in games that implement the Reflex sleep calls correctly, gives a very impressive latency reduction when the cap is reached. So having Reflex enabled just to be able to use the Reflex limiter to cap your FPS to a value the game can reach 99% of the time gives the best latency.

I believe SK (at least modern versions of it) can also utilize the Reflex sleep calls. So even when you use the "VRR low latency" limiter in SK instead of the "DLSS-G" Reflex limiter, it has the same low latency since it hooks itself into the Reflex calls. Obviously the game must have native Reflex implemented, and have it implemented correctly (quite a few games don't implement Reflex correctly and as a result the Reflex limiter doesn't give any latency benefit.)

A good test of the effect is Witcher 3, if you have that installed. The game has a correct implementation of the Reflex sleep calls, and you can cap the game to 24FPS using SK's low-latency limiter, and there's no lag even at that low of a frame rate. It feels weird in that the latency is so low, it feels like the game reacts even before you move the mouse...
does ELMB Sync behave equally at 225FPS vs 235-237FPS (setting aside how ELMB Sync looks in general)?
Probably. The Reflex and "ultra low latency" cap of 225 appears to be there simply due to the frame time variance of Nvidia's limiter. It's rather high and so the cap is set lower to avoid some frames exceeding the vsync rate.
And since LFC is a part of VRR, I've also heard and ofc I can't find it now, that NV has a different threshold and/or multiplier compared to AMD?
It's implemented in the driver so I'd say it's a given that they use different methods.
Steam • GitHub • Stack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

2mg
Posts: 66
Joined: 17 Jul 2018, 22:08

Re: PC Latency - Vsync with/without Framerate cap

Post by 2mg » 30 Jun 2026, 16:56

RealNC wrote: ↑
20 Jun 2026, 05:13
The thing here is that when you cap your FPS to a rate that will never actually trigger the FPS limiter, then nothing happens. It's like you're not using a limiter at all. 60Hz vsync with a 61FPS cap is the same as with a 120FPS cap because in both cases the limiter is not being activated and does absolutely nothing.
Yeah, this is the best ELI5 explanation.
RealNC wrote: ↑
20 Jun 2026, 05:13
Probably. The Reflex and "ultra low latency" cap of 225 appears to be there simply due to the frame time variance of Nvidia's limiter. It's rather high and so the cap is set lower to avoid some frames exceeding the vsync rate.
Does ULLM actually trigger the same cap as Reflex does, and is it only when ULLM=Ultra or does it work with ULLM=1?

I just booted Silksong, I presume it has no Reflex features, and have ULLM=Ultra.
Oddly I can set the frame cap to 239 instead of 240 and tearing is at the bottom always, why 239 only?
If I enable Vsync (ingame), it's 240 flat, which means ULLM didn't trigger the VRR cap?

Post Reply