Game stutter and VSync

cowboydude99

Honorable
Aug 21, 2013
1,493
0
11,960
Hi,
I'm not 100% sure I understand how vsync works. Would someone mind helping me?

If my FRAPS shows output of 50fps but my monitor (TV) is 60hz, and VSync is turned on, does this mean that my monitor is really only getting 30fps even though FRAPS shows 50?
 
It means that if the FPS is above 60, it'll force the GPU to only output 60 frames a second, driving down utilization.
If you turn on adaptive VSync, then it'll lock at 30 for more than 30 and at 60 for more than 60 FPS.
When talking about bottlenecks, this is what we effectively talk about. If the CPU cannot output 60FPS at a given setting but the GPU can, the CPU is the bottleneck, and vice versa. It's a comparison of performance.

A somewhat opposite of this is G-Sync. It forces the monitor to synchronize its refresh rate to that of the GPU, allowing for smooth gameplay and no tearing. 40 FPS appears as smooth as 60 with GSync.
Note that if the FPS is sufficiently low, then stuttering will occur with and without G-Sync enabled.
 
The above can happen, but doesn't always happen as there are techniques to mitigate it. This is known as Triple Buffering.

As above, if you turn on V-sync with a graphics engine that only uses two buffers, and your card fails to render frames faster than 16.7ms, then those frames must wait for the next time the monitor refreshes it's image, which happens every 16.7ms on a 60hz monitor. That means if your card consistently fails to render frames in under 16.7ms, there will be 33.3ms between every frame, which is 30 FPS.

With triple buffering, things change. If you get 50 FPS without V-sync, you will continue to get about 50 FPS even with V-sync. This is because the GPU can start rendering a new frame even when it is waiting to send the image to the monitor. This is the system which causes stutter. Because V-sync forces your card to wait for the monitor to not be updating the image on the screen before you can send it to the monitor, some frames get delayed up to 16.7ms (assuming this is a 60hz monitor), but with the 3rd buffer, the GPU can start rendering a new frame while it waits to send the completed one to the screen. As a result, the next frame will likely be ready in time for the next refresh rate. This means there will be 16.7ms between some frames, and 33.3ms between other frames. This results in stutter.

You may also see some stutter with two buffers in the case were the GPU is able to render some frames under 16.7ms and not others.

What it boils down to, is if you are getting FPS between 30 and 60 while V-sync is on, the frame times will jump between 16.7ms and 33.3ms resulting in stutter.
 


That is a personal question.

If you see 50 FPS after you turn on V-sync, then you have to decide if you notice the stuttering that IS taking place, or if you'd prefer to not have stutter, but tearing instead.

If you are getting 50 FPS with V-sync, triple buffering may already be on.
 

TRENDING THREADS