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.