Question about vsync

aL Mac

Gawd
Joined
Jul 20, 2002
Messages
949
With several games I've played recently I have to make sure to disable vsync or I have terrible mouse lag. I'm not being picky, I mean the game is almost completely unplayable and the mouse feels like it is on a long string.

I understand what vsync does, but is this unavoidable in games with vsync on?

I've experienced this in CoD Black Ops, Medal of Honor, and I think maybe portal 2. I swear in other games, such as world of warcraft, vsync causes no major input lag. Why would they even give the option of vsync if it was that poor?

System specs:
i7 920
2 radeon 5850s
12 gigs of ram
 
Vsync is tricky like that. Enabling it via the game is always a crapshoot, and more often than not the result is exactly as you describe: incredible mouse lag.

What you should do is download Rivatuner and use the included D3Doverrider. Just turn off Vsync in the game options, and let D3Doverrider take care of Vsync. I don't know why that works, but it does. No mouse lag, no screen tearing.
 
At 60 fps, one frame of latency is 16ms.16 ms of additional latency on input updates won't render anything "completely unplayable". Game engines don't all work the same way, however: some may poll input synchronously with display updates while others poll asynchronously. If you're running at, say, 180 fps in one game that runs input updates every frame, you're polling input at 180 Hz and getting fairly good response out of that. If you're locked to 60 fps, your polling rate drops down to an effective 60 Hz. It's not that the latter has much higher latency, but if your polling intervals are too long, it can make input feel 'clunky'. In the engines that run input decoupled from other systems, they might be running at a much higher rate regardless of the rate of display updates and, given a high enough update frequency, should always feel 'responsive'.

Some of it could be placebo as well. Given the reality that you can't effectively test it, it's more than possible you're just imagining differences between different games, even if/when there are none. This belief can psychologically reinforce that idea such that it becomes a simple truth to you.
 
At 60 fps, one frame of latency is 16ms.16 ms of additional latency on input updates won't render anything "completely unplayable". Game engines don't all work the same way, however: some may poll input synchronously with display updates while others poll asynchronously. If you're running at, say, 180 fps in one game that runs input updates every frame, you're polling input at 180 Hz and getting fairly good response out of that. If you're locked to 60 fps, your polling rate drops down to an effective 60 Hz. It's not that the latter has much higher latency, but if your polling intervals are too long, it can make input feel 'clunky'. In the engines that run input decoupled from other systems, they might be running at a much higher rate regardless of the rate of display updates and, given a high enough update frequency, should always feel 'responsive'.

Some of it could be placebo as well. Given the reality that you can't effectively test it, it's more than possible you're just imagining differences between different games, even if/when there are none. This belief can psychologically reinforce that idea such that it becomes a simple truth to you.

You're logic about 16 ms sounds good, but that is what makes it more surprising. It is not a placebo effect, it is clearly unplayable. It is an instantly obvious effect. I think in CoD black ops I couldn't even beat the beginning portion of the game. I searched online and found many similar reports that said to turn of vsync. I did that, and the problem was fixed.
 
Vsync is tricky like that. Enabling it via the game is always a crapshoot, and more often than not the result is exactly as you describe: incredible mouse lag.

What you should do is download Rivatuner and use the included D3Doverrider. Just turn off Vsync in the game options, and let D3Doverrider take care of Vsync. I don't know why that works, but it does. No mouse lag, no screen tearing.

I'll look into this, never heard of that before and it sounds interesting.
 
I'll look into this, never heard of that before and it sounds interesting.
This thread does a pretty good job discussing how to get it all setup:

http://www.neogaf.com/forum/showthread.php?t=366413

Like I said, don't really understand the why's, but the effect is remarkable. At this point, one of the first tweaks I do in any PC game is disabling the vsync, because D3Doverrider does a much better job.
 
Is it possible these games are using a render ahead queue, and is not able to drop frames that are outdated? so instead of the illustrated 3 buffer technique, it is a queue where each frame must be rendered?

In that case, the faster my graphics card is perhaps the longer lag could be.

There has been a lot of discussion in the comments of the differences between the page flipping method we are discussing in this article and implementations of a render ahead queue. In render ahead, frames cannot be dropped. This means that when the queue is full, what is displayed can have a lot more lag. Microsoft doesn't implement triple buffering in DirectX, they implement render ahead (from 0 to 8 frames with 3 being the default).

The major difference in the technique we've described here is the ability to drop frames when they are outdated. Render ahead forces older frames to be displayed. Queues can help smoothness and stuttering as a few really quick frames followed by a slow frame end up being evened out and spread over more frames. But the price you pay is in lag (the more frames in the queue, the longer it takes to empty the queue and the older the frames are that are displayed).

I kinda want to go home and do some further tests tonight. Perhaps I can disable crossfire and try a few things out
 
Back
Top