V-Sync and Input Lag

hemla

Junior Member
Jul 29, 2017
18
0
36
Greetings

How does V-Sync relate to Input Lag? I do hear contradicting stories and web results are filled with questions not answers. I am using GT 1030 and normal 1080p 60Hz monitor. Would in my case be running applications/games with V-Sync off always better for mouse snappiness? What if I would for example set V-Sync on, Triple Buffering on, Max Pre-Render Frames to 1 and FPS limit to 30. Would such setting be more effective than plain 60Hz/60fps setting? How it would relate to V-Sync off? Assuming that my card can display over 60fps average in given application but with frame rate dips below average. For me tearing is not a big issue but smoothness is, and somehow I feel that some games run better with V-Sync on. But I also do feel that it generates input lag and I'm not interested in getting G-Sync capable hardware. So the question is, is there any way of reducing input lag generated by V-Sync, perhaps by some more optimal settings?
 

24601

Golden Member
Jun 10, 2007
1,683
39
86
Greetings

How does V-Sync relate to Input Lag? I do hear contradicting stories and web results are filled with questions not answers. I am using GT 1030 and normal 1080p 60Hz monitor. Would in my case be running applications/games with V-Sync off always better for mouse snappiness? What if I would for example set V-Sync on, Triple Buffering on, Max Pre-Render Frames to 1 and FPS limit to 30. Would such setting be more effective than plain 60Hz/60fps setting? How it would relate to V-Sync off? Assuming that my card can display over 60fps average in given application but with frame rate dips below average. For me tearing is not a big issue but smoothness is, and somehow I feel that some games run better with V-Sync on. But I also do feel that it generates input lag and I'm not interested in getting G-Sync capable hardware. So the question is, is there any way of reducing input lag generated by V-Sync, perhaps by some more optimal settings?

Yes.
 
Reactions: hemla

hemla

Junior Member
Jul 29, 2017
18
0
36
Here's one of many web links that shows some results, are those reliable?

https://www.youtube.com/watch?v=oc28SH2ESA4&feature=youtu.be&t=340

If so, are there any benefits when disabling vsync completely but leaving Triple Buffering on, as it seems it produces quite low additional delay? Some articles say that Triple Buffering will reduce/remove tearing even without vsync while others claim that it won't do anything. I my case it will be DX11 application with native Triple Buffering support(CryEngine).
 

dogen1

Senior member
Oct 14, 2014
739
40
91
Yes, V-Sync increases input lag, and yeah there are a few ways of combating it.

Capping frame rate at refresh level or lower. Capping 1-2 below refresh minimizes latency at the cost of that many dropped frames per second. Capping to refresh gives you most of the benefit and to doesn't affect smoothness. You can use RTSS (supports basically everything and is very good at evening out frame times) or in game frame caps, which might slightly reduce latency. Or, if you wanna go the most inconvenient route, you can use nvidia inspector or AMDs frame rate target feature. Honestly, I recommend RTSS.

Reducing pre-rendered frames in GPU control panel. Idk if AMD lets you do this. You can probably globally set this to 1 without issues. I've heard things about it causing issues(probably occasional slight stuttering) with video playback though, so if you're worried go with 2.

If so, are there any benefits when disabling vsync completely but leaving Triple Buffering on, as it seems it produces quite low additional delay? Some articles say that Triple Buffering will reduce/remove tearing even without vsync while others claim that it won't do anything. I my case it will be DX11 application with native Triple Buffering support(CryEngine).

I can't really see the point of triple buffering without v-sync. Either way the gpu is gonna keep going full speed. Any benefits are coincidental I would think.
 

24601

Golden Member
Jun 10, 2007
1,683
39
86
The only thing triple buffering does when you have Vsync off is increase input lag.

Always have "additional frames rendered" or anything that sounds like that as low of a value as it allows you to set.
 

TheELF

Diamond Member
Dec 22, 2012
4,026
753
126
At 60 FPS you get one frame every ~16ms,so in theory anything you do you will see on screen after 16ms,with vsync off and if your system can cope you can reduce this number down to your displays response time,if that is 2ms you'll get one frame every 2ms if it's 1ms you'll get a frame every 1ms.

You can also try nvidias fast sync,this will give you the maximum FPS possible for lowest ms possible but will only send complete frames to the display to prevent tearing.
 

hemla

Junior Member
Jul 29, 2017
18
0
36
What I am trying to archive is smooth framerate without input lag.

But my main problem with this application is that I can not get it to run at 60fps stable. I can benchmark it and with settings I am using FRAPS will show 70-100fps average but every frame dip is very noticeable and I don't want it to happen. At 30fps limit that I am using this dipping effect is almost gone and game is smooth, even in most demanding situations, of course at cost of jittery animation.

Hence in my case it's 30fps framerate and for display it's 60Hz refresh rate with 5ms response time. I don't see much tearing and could play with tearing it but I have noticed that vsync is somehow smoothing game animation. That is the reason I am trying to get vsync to work.

As for Fast Sync, ain't it working only when framerate is exceeding refresh rate? Not applicable in my 30fps situation? Also would it mean that Fast Sync there are different response times in areas that are rendered at 200fps@60Hz and areas that are rendered at 70fps@60Hz?
 

dogen1

Senior member
Oct 14, 2014
739
40
91
What I am trying to archive is smooth framerate without input lag.

But my main problem with this application is that I can not get it to run at 60fps stable. I can benchmark it and with settings I am using FRAPS will show 70-100fps average but every frame dip is very noticeable and I don't want it to happen. At 30fps limit that I am using this dipping effect is almost gone and game is smooth, even in most demanding situations, of course at cost of jittery animation.

Hence in my case it's 30fps framerate and for display it's 60Hz refresh rate with 5ms response time. I don't see much tearing and could play with tearing it but I have noticed that vsync is somehow smoothing game animation. That is the reason I am trying to get vsync to work.

As for Fast Sync, ain't it working only when framerate is exceeding refresh rate? Not applicable in my 30fps situation? Also would it mean that Fast Sync there are different response times in areas that are rendered at 200fps@60Hz and areas that are rendered at 70fps@60Hz?


Dipping below 60 fps with v-sync enabled will force you to 30 fps (for as long as you're under 60 fps, maybe just one frame). There's no easy solution for that. You could use adaptive v-sync if you use nvidia, which turns v-sync off under the refresh rate, but you can't cap to 60 fps because it'll trigger it to drop v-sync so you can't really get around the extra latency. If you really want the smoothness of v-sync at your full refresh rate, then maybe lower your graphics settings a bit.


Actually, I was just messing around with nvidia inspector's frame rate limiter and it looks like you can set it to 60.7 fps and it doesn't mess with adaptive v-sync. Input feels pretty decent that way.
 
Last edited:

hemla

Junior Member
Jul 29, 2017
18
0
36
But I am already config-locked at 30fps while having 60Hz display. I am also using triple buffering and 1 frame prerender limit with default, application controlled vsync. What I am trying to do is to get lowest mouse input delay without any input/fps dips. Because as I understand fps dips will also mean input dips. This is pretty specific scenario as in most scenario it's possible to keep framerate above 60, where Fast Sync becomes solid option, but not here. And as I understand in my case it's simply better to just turn v-sync off?
 

bystander36

Diamond Member
Apr 1, 2013
5,154
132
106
There are a lot of different situations and produce different amounts of latency with V-sync on. At a minimum, V-sync on produces 0-16ms when at 60hz, depending on how high your FPS would be if it was off. This is the case with a double buffering system.

With v-sync and triple buffering, your latency is the same as double buffering when your FPS are lower than your refresh rate, but once you reach 60 FPS on a 60hz monitor (or the hz of your monitor), then triple buffering will add an additional frame worth of latency. So on a 60hz monitor, you will have between 16-33ms of latency at a minimum.

People who say to use triple buffering, are either assuming the use of v-sync, or just don't understand what it does. Triple buffering will do nothing for you without v-sync on. It pretty much does nothing otherwise. With V-sync on, it does allow you to have a smooth transition in frame rate between 30 and 60 FPS, rather than getting locked in at 30 FPS, you will be able to see 40 or 50 FPS regularly. However, this does result in some judder.
 

Flapdrol1337

Golden Member
May 21, 2014
1,677
93
91
If you're at 30 fps you probably need all the response you can get so keep vsync off, if tearing is distracting you could try limiting at 31 or 32 fps if the ingame limiter allows this.

You are using an ingame limiter? If not see if the game has one, ingame limiters result in lower latency.
 

hemla

Junior Member
Jul 29, 2017
18
0
36
Yeah I am using ingame limiter, also as advised, decided to set vsync off and after some testing I can feel the difference physically.
 

PrincessFrosty

Platinum Member
Feb 13, 2008
2,300
68
91
www.frostyhacks.blogspot.com
Greetings

How does V-Sync relate to Input Lag? I do hear contradicting stories and web results are filled with questions not answers. I am using GT 1030 and normal 1080p 60Hz monitor. Would in my case be running applications/games with V-Sync off always better for mouse snappiness? What if I would for example set V-Sync on, Triple Buffering on, Max Pre-Render Frames to 1 and FPS limit to 30. Would such setting be more effective than plain 60Hz/60fps setting? How it would relate to V-Sync off? Assuming that my card can display over 60fps average in given application but with frame rate dips below average. For me tearing is not a big issue but smoothness is, and somehow I feel that some games run better with V-Sync on. But I also do feel that it generates input lag and I'm not interested in getting G-Sync capable hardware. So the question is, is there any way of reducing input lag generated by V-Sync, perhaps by some more optimal settings?

It doesn't relate to input lag, technically speaking.

It's somewhat of a misnomer that Vsync affects input lag, it actually affects output lag, but what gamers are really interested in is the total latency from input to output, and yes with Vsync this time is increased on average and it makes the controls feel less responsive. The distinction actually matters but isn't that important.

Keep in mind that Vsync was created to stop a rendering/display artefact called tearing, tear lines happen because monitors refresh 1 horizontal line at a time, from the top of the screen down to the bottom. What they display on each line is read out of the monitors internal memory, and it's the video cards job to put new frames into that buffer. Tearing is when the buffer is swapped to a new frame part way through a screen refresh, resulting in one part of the screen being and old frame and one (or many) parts of the screen being a newer frame(s). You can tear more than once per screen refresh if you have very high frame rates.

Vsync fixes this by forcing the buffer to only swap to a new frame while the monitor is between refreshes. the problem is that game rendering is generally done as fast as possible, the video card will spit out as many frames per second as it can and that speed is based on the video cards hardware capabilities. If you want to sync up frames there's only 1 way to do that with traditional monitors and that's to insert artificial delays into the output of the video card. And that's where your output lag comes from. The story is even worse when you have low frame rates (lower than your refresh rate) because if that's the case Vsync will force the same frame to render twice in a row, or as many times is needed until the next frame is ready, which is commonly why with Vsync enable you'll commonly see frame rates either n, then n/2 then n/3, where n is the refresh rate of your monitor.

If you want the least amount of lag then simply force disable Vsync.

Triple buffering gives the video card 3 buffers to write into, so one is displayed to the monitor, the other 2 get written into alternatively back and forth. If one is finished but the monitor doesn't yet need the new frame the video card will continue to write a newer frame into the spare buffer and keep doing that until the next frame is demanded by the monitor, at which time the newest frame that's 100% complete will be handed over, meaning you have a newer frame (less lag) than you would have with only standard double buffer. This helps reduce (but not eliminate) lag only if your frame rate is substantially greater than your refresh rate, the higher it is the less lag you'll feel.

Games don't run better with Vsync on but some people percieve the tearing as a kind of choppiness, tearing isn't typically choppy if you have a stable frame rate then the updates are fairly reguarly spaced, but the visual appearance can feel like irregularity to some.

Lastly it's worth noting responsiveness. Your monitor can only display 60 refreshes per second, but those refreshes with Vsync off can be comprised of many different consecutive frames, if your frame rate is substantially higher than your refresh rate. And to me subjectively it feels more responsive, and I think the reason for this is that at least for me, my brain can interpolate very well what it happening, sub-refresh. That is to say while any one single complete screen refresh is just a static image, if it's stitched together of parts of several different frames that occured at different consecutive times, you can notice the pattern of movement between those frames, you pick up on things happening. And then if your visual cortex blends that together you're infering more information out of the frame than could be infered from a perfectly Vsynced game.

Or another way of thinking about that is say you have 1 complete refresh, and its made up of many images stitched together, the top part will be very old (maybe 16ms old) and then the next part down is only actually 10ms old, and then the parts near the bottom are only say 4ms old. You're getting more updates per second but they're only happening to fractions of the screen. That gives benefit to having frame rates that are above your refresh rate in terms of responsiveness. it does mean more tear lines though.

Any kind of frame rate capping at all even if it's not synced capping, will lead to some latency.

Lastly there's newer methods which are Freesync and Gsync which allow monitors to update their screen at rates which match your frame rate, that gives you vertical sync but without the latency. But that requires hardware implementation.
 
Reactions: hemla

bystander36

Diamond Member
Apr 1, 2013
5,154
132
106
Triple buffering gives the video card 3 buffers to write into, so one is displayed to the monitor, the other 2 get written into alternatively back and forth. If one is finished but the monitor doesn't yet need the new frame the video card will continue to write a newer frame into the spare buffer and keep doing that until the next frame is demanded by the monitor, at which time the newest frame that's 100% complete will be handed over, meaning you have a newer frame (less lag) than you would have with only standard double buffer. This helps reduce (but not eliminate) lag only if your frame rate is substantially greater than your refresh rate, the higher it is the less lag you'll feel.

That is not true with DirectX, which most games use. In DirectX, every frame rendered must be displayed, so if you reach your hz in FPS, you gain an additional frame of latency. What you are describing is only true with OpenGL.

EDIT: I might add that Nvidia's "Fast sync" forces DirectX to display the newest frame. The down side to displaying the newest frame with syncing, is unless you have super high FPS, it can create some judder. Displaying every frame, as DirectX does, makes things smoother, but adds latency.
 
Last edited:

PrincessFrosty

Platinum Member
Feb 13, 2008
2,300
68
91
www.frostyhacks.blogspot.com
That is not true with DirectX, which most games use. In DirectX, every frame rendered must be displayed, so if you reach your hz in FPS, you gain an additional frame of latency. What you are describing is only true with OpenGL.

I think this might be right, in fact from memory I think triple buffering only works with OpenGL? I've not used Vsync or messed with the controls for years but from memory years ago it's an OpenGL exclusive feature. I don't know if that's because of some inherent flaw or limitation in the DirectX pipeline, that's beyond my knowledge.
 

bystander36

Diamond Member
Apr 1, 2013
5,154
132
106
I think this might be right, in fact from memory I think triple buffering only works with OpenGL? I've not used Vsync or messed with the controls for years but from memory years ago it's an OpenGL exclusive feature. I don't know if that's because of some inherent flaw or limitation in the DirectX pipeline, that's beyond my knowledge.
The feature isn't OpenGL only, but the control panel option to force it on is. Some games do have it built in to DirectX games and I do believe there are some 3rd party methods to attempt to turn it on in DirectX. And if you run multiple GPU's, an additional buffer is created for each added GPU. I'm not sure they call it triple buffering or not, but it behaves like it. And Nvidia's "Fast sync" creates triple buffering, and then forces it to behave like OpenGL.
 

Headfoot

Diamond Member
Feb 28, 2008
4,444
641
126
I'm gonna address the elephant in the room and go ahead and say if you ran something faster than a 1030, you could stay above the vsync limit at all times and you wouldnt have to worry about the behavior when you get below 60 fps.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |