Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Here's how I see it:

99% of the time a game after 1998 or so says "vsync" it means double buffered vsync, so I'll explain that version.

Let's say the game renders frames instantly.

Without vsync but locked at 60FPS, an input can take up to 16ms to cause an effect on the monitor because the game loop only applies and renders pending inputs once every 16ms at this framerate. Each input will have between 0ms and 16ms of lag.

In double buffered vsync at 60Hz, its the same thing: the game loop applies and renders pending inputs once every 16ms. But now the frame is not shown on the monitor right away. Instead, the loop waits for the monitor to be ready. And because the loop will restart right after that, this wait will always be another 16ms. Each input will have between 16ms and 32ms lag.

Of course if your render takes more than 16ms you will have more issues, but that's not the problem here. Even with a computer that renders instantly, the lag will be too much.

And yes this will be on top of the already existing lag of the game and peripherals.

I don't understand how you get 48ms. If I have a mouse with 4ms of lag, it will just add a constant 4ms to the total making worst case 32ms + 4ms. I did think it was 48ms at some point but now I think I just imagined it.



you're right, I fucked it up with 48ms logic. an input lag will go to a second 16ms cycle instead of the first one, rather than somehow magically creating a third one




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: