Is capping fps same as vsync?

Gvgd94

Honorable
Mar 16, 2013
187
0
10,690
hello, is capping your fps at 60 the same as vsync? vsync gives input lag but im not sure if capping fps at 60also gives input lag
 
Solution


You are misunderstanding the difference between what the game response time is, and what the...
no it isn't

vsync prevented tearing, but you get input lag.(in this case your input lag if going to be way more than 16.6ms almost 30ms, because the frame is not rendered as soon as it finish, insted it waits for the monitor to synchronize)

capping your fps at 60 will not remove tearing, but your input lag is going to be exactly 16.6ms (that feel very responsive), of course if you cap your fps at 100fps the input lag is going to be 10ms and so on...



 

I play on a 60ghz monitor how can locking at 100 fps make a smaller response time? But a 16.6ms response time is good? And how does this play with my 2ms response monitor?
 


You are misunderstanding the difference between what the game response time is, and what the monitors response time is.

Assuming 60Hz, you will have a Refresh Rate of 60Hz, or approx. 16ms. What that means, is every 16ms, an image will be drawn to the screen.

In addition, LCDs have a Response Time, or the time it takes a pixel to change color in best case conditions. So a 16ms Response Time would indicate it takes, on average, 16ms for a pixel to actually change color.

Now, lets look at the PC end of things:

You will have a game outputting at some rate. Ideally, 60FPS. But there is a disconnect between FPS, and latency. For instance, just because you are getting 60FPS does NOT mean that a new frame will be created every ~16ms. You might have one frame created after 8ms, and the next one created 39ms later, and one created 1ms after that. You get 60FPS, but you have a massive latency spike between the first and second frames.

EG: You can get something like this:
First frame created (8ms)
Display requests new frame (16ms)
Frame 1 sent to display (16ms)
Display requests new frame (32ms)
Frame 1 sent to display (32ms)
Frame 3 created (47ms)
Frame 4 created (48ms)
Display requests new frame (48ms)
Frame 4 sent to Display (48ms)

One frame repeated, two frames dropped. 60FPS. Hence why review sites are starting to move away from that metric, because it doesn't capture what actually ends up getting drawn to the screen.

However, because GPU's can buffer frames, what will happen is on the third screen refresh, its likely a mix of Frame 3 and Frame 4 would get drawn to the screen. So you get some amount of tearing.

What VSync does, is forces an ENTIRE image to be drawn to the screen every refresh. So if you start drawing an old image to the screen, and a newer one is created, the newer one is ignored. As a result, you get input lag, as old frame data is used.
 
Solution