Framelimiting and Vsync introducing variable input lag?

Everything about latency. Tips, testing methods, 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.
Trip
Posts: 157
Joined: 23 Apr 2014, 15:44

Re: Framelimiting and Vsync introducing variable input lag?

Post by Trip » 31 Oct 2015, 02:32

Glide wrote:I have heard people say that using the "1/2 refresh V-Sync" option at 120Hz can be smoother than regular V-Sync at 60Hz, so it's certainly worth trying.
I wouldn't use 144Hz since that requires the games to run at 72 FPS.
I don't know if nvidia also updates the screen at other divisions like 40 hz. If that were the case it could be better then regular 60hz vsync. Better is to probably put the ingame fps limit to 60 and use normal vsync in this case since then you know for sure this will happen. Altough this is not possible on all games.
Glide wrote:Screen tearing happens at any framerate, and I don't think it's that much better that 144Hz.
However you can't have smooth gameplay if V-Sync is off.
You can have high framerates, which will make the game very responsive, but you will get stuttering because the framerate is not being synchronized to the refresh rate.

Since you prefer ULMB and V-Sync off to G-Sync, I guess you just don't notice that sort of thing.

The screen tearing gets less worse when framerate or refresh rate becomes higher. This is because the tears displace the scenery less since the updates happen more frequently. I do know when you turn on vsync or gsync the gameplay becomes smoother but I still don't like the tradeoff you make for less responsiveness. Its not that I don't notice it I just don't like the tradeoff personally.

Glide
Posts: 280
Joined: 24 Mar 2015, 20:33

Re: Framelimiting and Vsync introducing variable input lag?

Post by Glide » 31 Oct 2015, 03:35

Trip wrote:I don't know if nvidia also updates the screen at other divisions like 40 hz. If that were the case it could be better then regular 60hz vsync. Better is to probably put the ingame fps limit to 60 and use normal vsync in this case since then you know for sure this will happen. Altough this is not possible on all games.
Sure, set your display to 120Hz and use 1/3 refresh V-Sync.
The majority of in-game FPS limiters are bad if you care about frame-pacing. Don't use them.
Trip wrote:The screen tearing gets less worse when framerate or refresh rate becomes higher. This is because the tears displace the scenery less since the updates happen more frequently. I do know when you turn on vsync or gsync the gameplay becomes smoother but I still don't like the tradeoff you make for less responsiveness. Its not that I don't notice it I just don't like the tradeoff personally.
Well it's hardly the right thing to be recommending when one of the main complaints here is bad frame pacing.

John1975
Posts: 6
Joined: 29 Oct 2015, 17:06

Re: Framelimiting and Vsync introducing variable input lag?

Post by John1975 » 31 Oct 2015, 09:19

@Glide
You seem to be using Afterburner to show me your frametimes, I have now measured frametimes with AB (polling rate 100ms) in some games.

All of these are taken in fullscreen with pre rendered frames 1 and driver vsync at 60 FPS @ 60HZ, no framelimiters and ingame vsync disabled, standing in a place and slowly turning the camera with a gamepad.

Dishonored:
dishonored.PNG
dishonored.PNG (10.88 KiB) Viewed 8847 times
Divinity OS:
Divinity.PNG
Divinity.PNG (10.92 KiB) Viewed 8847 times
The Witcher 3:
witcher3.PNG
witcher3.PNG (8.87 KiB) Viewed 8847 times
(I have also made AB screenshots with RTSS enabled, I can't upload more than 3 images though, if you need the screens with RTSS lock in place then let me know.)

Dishonored seems reasonably well on the graph and perceived judder is minimal, however in the other games I can notice judder more clearly upon turning, mildly in Witcher and heavy judder in Divinity.

If I lock the games above with RTSS then I can not see anymore judder in Witcher and Divinity, also AB will now display a flat line in frametimes. It is a clear improvement to me with RTSS.
The difference in Dishonored is minimal however, with or without RTSS the game seems smooth, though I feel it may be slightly smoother with RTSS...

Both you and Sparky suggest that the variable lag I notice is not some weird bug on my PC but rather expected behaviour if one uses framerate caps alongside Vsync.


My question now would be, is there a way to get judder free vsync without variable input lag on games where ingame Vsync is borked, as I said, the pre rendered frames tweak is not working for me in some games, some judder remains...

Glide
Posts: 280
Joined: 24 Mar 2015, 20:33

Re: Framelimiting and Vsync introducing variable input lag?

Post by Glide » 31 Oct 2015, 11:59

John1975 wrote:If I lock the games above with RTSS then I can not see anymore judder in Witcher and Divinity, also AB will now display a flat line in frametimes. It is a clear improvement to me with RTSS.
You cannot measure frame times with Afterburner when capping the framerate with RTSS - especially if the output is borderless/full-screen windowed.
It is capping in the same step that it is sampling the framerate, so the frametimes would appear to be perfect.

If you were to follow this guide for example, it sets things up so that it looks as though you have prefect frame presentation, but it will actually stutter on the display.
If you're capping with RTSS, use FRAPS+FRAFS to graph the frametimes. FRAPS samples every frame, while Afterburner polls at 100ms, so FRAPS is technically more accurate too - but I find that Afterburner graphs are sufficient for finding frame-pacing issues as long as you're not also using RTSS to cap the framerate. I'm not saying that RTSS can't improve frame pacing, but I've never seen it help.

Note that the point in the rendering chain where Afterburner/FRAPS sample the framerate does allow for some variance in frame-times without necessarily showing as stutter on the display. That first image displays perfectly smooth gameplay except for one stutter where it goes beyond 33.33ms.

An FCAT setup would be required for 100% accurate frame-time measurements to see what's actually reaching the display, but the results from Afterburner/FRAPS are sufficient for this sort of thing if you're using a single GPU.
John1975 wrote:The difference in Dishonored is minimal however, with or without RTSS the game seems smooth, though I feel it may be slightly smoother with RTSS...
Both you and Sparky suggest that the variable lag I notice is not some weird bug on my PC but rather expected behaviour if one uses framerate caps alongside Vsync.
My question now would be, is there a way to get judder free vsync without variable input lag on games where ingame Vsync is borked, as I said, the pre rendered frames tweak is not working for me in some games, some judder remains...
The frametimes that you're posting for Dishonored and The Witcher 3 look like there shouldn't be any stuttering.
I'm wondering if there's a bigger issue with your setup here - perhaps something like your display dropping frames.

The variable input lag is a thing that can happen, not something which is guaranteed to happen.

What type of gamepad are you using? If it's a DualShock4, the DS4Windows config has a "Flush HID" setting.
I've found that either having it enabled/disabled can cause certain games to stutter - it was a problem with MGSV: Ground Zeroes for example. (but not MGSV: The Phantom Pain)

One thing I'd try is reducing the graphics settings for a game to its minimum - perhaps even lowering the resolution - and seeing if that helps at all.

EDIT: I just noticed that you said your 2600K is running at stock speeds in the first post. That's probably the reason why.
I have a 2500K running at 4.5GHz. If I run it at the stock 3.6GHz I get stuttering in some games because the CPU is too slow.

John1975
Posts: 6
Joined: 29 Oct 2015, 17:06

Re: Framelimiting and Vsync introducing variable input lag?

Post by John1975 » 31 Oct 2015, 20:02

I have now measured frametimes with FRAPS in the Witcher and looked at the results with FRAPS bench viewer, I am not sure I can interpret these 100% correctly, but I think it says that frametimes without RTSS are better than with RTSS in place.

Pre rendered frames 1, driver Vsync, fullscreen.
Without RTSS:
witcherfraps.PNG
witcherfraps.PNG (72.94 KiB) Viewed 8832 times
With RTSS:
witcherrtssfraps.PNG
witcherrtssfraps.PNG (114.12 KiB) Viewed 8832 times
Despite the results saying otherwise, I can help but notice that movement appears smoother with RTSS...

I used a wireless Xbox 360 pad, I also have a Dualshock 4 though I never used DS4windows with it, I only rarely use it in a few games that support it natively.

Reducing the graphics setting to minimum and resolution to 720p also made no difference to fluidity.

My CPU may be outdated, but can it be so weak as to not even produce smooth frames at lowest settings in games, even at 30 FPS, considering that acual framerates without Vsync exceed 60 FPS?

How could I know if my monitor droppes frames?
Different cables? Made no Difference, neither does changing hertz and I am pretty sure that my old monitor, a basic Acer 1080p60HZ display whose name escapes me, had the same issues, though I don't have that monitor anymore.

Could a Gsync monitor help me?
Not that I have the cash to get one at the moment, but would that be something that could deliver judder free gameplay at a fixed framerate without variable input lag?

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

Re: Framelimiting and Vsync introducing variable input lag?

Post by Sparky » 31 Oct 2015, 21:25

John1975 wrote:I have now measured frametimes with FRAPS in the Witcher and looked at the results with FRAPS bench viewer, I am not sure I can interpret these 100% correctly, but I think it says that frametimes without RTSS are better than with RTSS in place.

Pre rendered frames 1, driver Vsync, fullscreen.
Without RTSS:
witcherfraps.PNG
With RTSS:
witcherrtssfraps.PNG
Despite the results saying otherwise, I can help but notice that movement appears smoother with RTSS...

I used a wireless Xbox 360 pad, I also have a Dualshock 4 though I never used DS4windows with it, I only rarely use it in a few games that support it natively.

Reducing the graphics setting to minimum and resolution to 720p also made no difference to fluidity.

My CPU may be outdated, but can it be so weak as to not even produce smooth frames at lowest settings in games, even at 30 FPS, considering that acual framerates without Vsync exceed 60 FPS?

How could I know if my monitor droppes frames?
Different cables? Made no Difference, neither does changing hertz and I am pretty sure that my old monitor, a basic Acer 1080p60HZ display whose name escapes me, had the same issues, though I don't have that monitor anymore.

Could a Gsync monitor help me?
Not that I have the cash to get one at the moment, but would that be something that could deliver judder free gameplay at a fixed framerate without variable input lag?
FRAPS does not measure input lag, so it's not going to tell you anything here. For more info on THAT, there's a thread here: http://forums.blurbusters.com/viewtopic.php?f=10&t=1381

There are two things that really matter for average input lag: Frametime, and how many steps the bottleneck is away from input collection. These two things get multiplied together. With v-sync on(no cap), your bottleneck is the monitor, which is as far away from input collection as you can get, so you get high but consistent input latency. You can move that bottleneck back towards input collection with framerate caps(with the best case scenario being an in-game framerate cap), but if you do this you need a variable refresh monitor to avoid the sawtooth pattern in the blue graph I posted above. If the game had a very inconsistent frametime there would also be some tradeoff between average input latency and smoothness of animation, but that doesn't look like an issue in the graphs you posted.

V-sync off will give you consistent and low latency at the expense of tearing. Using a higher refresh rate will reduce the severity of judder and tearing, either by reducing the penalty for not presenting a frame on time, or by reducing the amount of time each tear is visible on screen.

Oh, as for telling if your monitor drops frames, Take a photo of the screen with this test running, long enough exposure to catch several refresh cycles: http://testufo.com/#test=frameskipping If there are some black squares in the middle of the white ones, you're dropping frames.

Glide
Posts: 280
Joined: 24 Mar 2015, 20:33

Re: Framelimiting and Vsync introducing variable input lag?

Post by Glide » 31 Oct 2015, 22:12

John1975 wrote:My CPU may be outdated, but can it be so weak as to not even produce smooth frames at lowest settings in games, even at 30 FPS, considering that acual framerates without Vsync exceed 60 FPS?
I think there is something else going on here, because you are showing good frametimes but you say that games are stuttering.

The age of the CPU is not a problem if you overclock it. That's what the K-series CPUs are for. Most 2600K's will hit 4.4GHz without any difficulty.
I definitely get stuttering in games with my 2500K when it is running at the stock speed rather than overclocked to 4.5GHz - but I'd expect that to show up on a frametime graph. (I've not tried to measure it)
John1975 wrote:Could a Gsync monitor help me?
If the monitor is the problem, replacing it with one might help.
I don't think that G-Sync itself would improve things, because there doesn't seem to be any frame pacing issues.

The only other thing I can think of is that you might be running f.lux?
That causes stuttering in games if you don't have the "safe mode" enabled.
Or possibly there is some other software running on your system causing it. But I don't know why that wouldn't show up in the frametime graphs.

John1975
Posts: 6
Joined: 29 Oct 2015, 17:06

Re: Framelimiting and Vsync introducing variable input lag?

Post by John1975 » 01 Nov 2015, 20:56

I've already heard of f.lux causing stutter, but I've never had that installed on my system.

Edit: I've also done the frameskipping test, it shows that my monitor is not skipping frames.

mynm
Posts: 40
Joined: 23 May 2015, 06:36

Re: Framelimiting and Vsync introducing variable input lag?

Post by mynm » 05 Nov 2015, 12:41

Hi, You can try 110hz caping it to 55fps, 100hz to 50fps, 84hz to 42, 55hz, 50hz, 42hz, or any other hz at half fps, or hz, below 60fps or hz. You can do that custom resolutions at nvidia control panel.

Doing tests I seen that at less than, more or less, 42hz or 42fps the image in motion is juddered or dobled it self at my LCDs (I don´t know if it will be ghosting, because my monitors don´t have overdrive), and the mouse is lagged and less responsive.
Also at 60fps and 120hz with a CRT I see doubled image but not at 60hz or 45hz, I don´t have a 120hz LCD, I don´t know if it´s the same with LCDs.
The mouse responsiveness will be better increasing DPI, or the mouse responsiveness at the game, at that low fps and hz.

Post Reply