BrightCandle
Diamond Member
- Mar 15, 2007
- 4,762
- 0
- 76
This again? its a well known fact the eye can perceive at least 1000 fps in some circumstances.
And yes running 120Hz on a 60hz monitor does reduce input latency. The explanation is actually really simple.
time =0ms
monitor starts drawing frame0.
time =8ms
frame1 is done, buffer swapped.
This will be when the monitor is half way down the transfer so the image now being sent to the monitor will have a top half of frame0 and a bottom half of frame1.
time = 16ms
frame2 is done, buffer swapped.
frame0/frame1 half and half picture displayed by monitor (with some latency but its not relevant here).
monitor starts getting frame2.
time = 24ms
frame 3 is done and buffer swapped.
monitor starts getting frame3 half way down the image.
time = 32ms
frame 4 is done and buffer swapped.
frame2/frame3 half and half picture displayed by monitor.
So we can see that a perfect 120Hz will produce frames that are half 16ms old and half 8ms old. With the 8ms being the bottom half of the screen.
In the case of vsync however the frame is all 16ms old, because that is how long it took to make it. Worse than that is it takes 16ms to send it to the monitor while the other frame is being drawn. So its actually 32ms old in all without any other buffering involved. Whereas an 8ms frame is 8ms old (render) because you only transfer it for half of the screen and we didn't have to wait for sync to get the image onto the screen. Which makes basically vsync twice the latency. Now in practice the tearing line goes all over the place and sometimes there are more than 2 frames on the screen at once. The key point to know is that the bottom of the screen is newer and that is very important for the feeling of immediate input as there is more there than in the sky normally.
The other problem is that if the frames are unaligned. If you just so happen to have just missed a vsync then your frame is going to sit for 16ms before it even gets swapped, and then take 16ms to get to the screen, and it already took 16ms to render. So in the worst case vsync can actually cost 48ms before you start taking into account the other buffers and sources of latency. From VR headsets we know anything greater than 30ms is a real problem, it makes people sick.
So yes 120fps on 60hz does reduce latency, and vsync off is definitely less latency than vsync on.
And yes running 120Hz on a 60hz monitor does reduce input latency. The explanation is actually really simple.
time =0ms
monitor starts drawing frame0.
time =8ms
frame1 is done, buffer swapped.
This will be when the monitor is half way down the transfer so the image now being sent to the monitor will have a top half of frame0 and a bottom half of frame1.
time = 16ms
frame2 is done, buffer swapped.
frame0/frame1 half and half picture displayed by monitor (with some latency but its not relevant here).
monitor starts getting frame2.
time = 24ms
frame 3 is done and buffer swapped.
monitor starts getting frame3 half way down the image.
time = 32ms
frame 4 is done and buffer swapped.
frame2/frame3 half and half picture displayed by monitor.
So we can see that a perfect 120Hz will produce frames that are half 16ms old and half 8ms old. With the 8ms being the bottom half of the screen.
In the case of vsync however the frame is all 16ms old, because that is how long it took to make it. Worse than that is it takes 16ms to send it to the monitor while the other frame is being drawn. So its actually 32ms old in all without any other buffering involved. Whereas an 8ms frame is 8ms old (render) because you only transfer it for half of the screen and we didn't have to wait for sync to get the image onto the screen. Which makes basically vsync twice the latency. Now in practice the tearing line goes all over the place and sometimes there are more than 2 frames on the screen at once. The key point to know is that the bottom of the screen is newer and that is very important for the feeling of immediate input as there is more there than in the sky normally.
The other problem is that if the frames are unaligned. If you just so happen to have just missed a vsync then your frame is going to sit for 16ms before it even gets swapped, and then take 16ms to get to the screen, and it already took 16ms to render. So in the worst case vsync can actually cost 48ms before you start taking into account the other buffers and sources of latency. From VR headsets we know anything greater than 30ms is a real problem, it makes people sick.
So yes 120fps on 60hz does reduce latency, and vsync off is definitely less latency than vsync on.