Originally Posted by brettjv;13331767
Yes, v-sync does do something else besides just cap the game at 60fps.
BTW, how do you cap every game at 60fps w/o v-sync?
Vsync doesn't cap anything. It synchronizes (who would've guessed) frame rendering with your monitor's refresh rate. As a byproduct, it also effectively caps your FPS at your monitor's refresh rate.
Simply capping your FPS doesn't mean your GPU will have a frame fully rendered when the monitor polls it. It could still poll it halfway through rendering a new frame.
Originally Posted by Nemesis158;13332724
The main problem i'm seeing here is that there should be no difference in input lag with vsync on/off. if there is that tells me there is another problem somewhere else
Sure there should - think about how it functions. Your GPU must have a fully rendered frame ready for the monitor to poll. If it must be the case, then it will use an out-of-date frame which was prerendered a little before the monitor polled.
In other words, you need a fast GPU for no input lag. The higher FPS your GPU has when not using vsync, the more recent the frames your monitor gets with vsync are.
Of course, it also depends on luck. If the game's renderer starts at just the right time that it's almost synchronized with the monitor's polling, then input lag will be minimal. Then again, so will tearing.
I could be wrong and it doesn't have anything to do with the software renderer, but when the GPU starts rendering and when the monitor starts polling (if the GPU's rendering never restarts after a boot). If that's the case, then that would explain why some people don't get it - it depends on how fast the monitor starts polling after it gets a signal from the graphic card.
Originally Posted by venomblade;13333282
For portal 2, a game where i can't limit my fps to 60 without vsync i put on triple buffering, which made the input lag worse. I then chose double buffering instead and that reduced it drastically and is good enough for me to play
Triple buffering allows a new frame to start rendering while the old frame is waiting to be grabbed by the monitor, so that makes sense. That said, with double buffering you'll experience lower FPS.
Here's how rendering works, in a nutshell:
Single buffering (vsync off): The GPU draws directly into the front buffer, which the monitor gets the image from. If the monitor polls while this is happening, you'll see part of the last frame.
Double buffering ("regular" vsync): The GPU draws into the back buffer. Once it's done, it copies the frame to the front buffer, which the monitor gets the image from, and then it starts drawing a new frame to the back buffer. The GPU waits for the monitor to poll once before it copies the drawn frame to the front buffer.
Triple buffering: Same as double buffering, but there is a second back buffer which the GPU can draw into while the other two are occupied (waiting on the monitor).
In reality this isn't exactly how it works - there isn't a front buffer which is copied to. Instead, there are only back buffers. When a frame is ready, the back buffer containing the oldest frame gets the role of the front buffer. Then, it shifts to the next buffer, and the previous front buffer returns to being a back buffer.Edited by Coma - 4/30/11 at 3:39pm