Triple-buffering: Do you need to enable v-sync?

jmk396

Gawd
Joined
Jul 22, 2004
Messages
787
I've read some articles and have done my google searching but I'm still a little bit confused.

I thought triple-buffering was an alternative to v-sync but from what I've read it's used along with v-sync. Therefore, you must enable v-sync to use triple-buffering[/i]. Is this true?

Is there any reason NOT to enable triple-buffering? (eg. force it through the nVidia control panel?)

Does it only work with certain games? If so, how can I tell which games it does or doesn't work with?
 
n-buffering and vertical sync are orthogonal concepts.

Triple buffering means that there are 3 frame buffers which are rendered to sequentially.

V-sync is a bit of misnomer with non-CRT displays; but in this context refers to the synchronization of the currently displayed buffer being switched, to the beginning of the interval at which the frame is displayed on the monitor.


As for your other questions, I'm not sure. In theory there is nothing preventing any combination of them being enabled, but whether your display driver or game supports it is another question entirely.
 
I was wondering the same thing when using d3doverrider. I can't seem to eliminate the tearing just by enabling triple buffering for dead space. Enabling vsync along with it just brings back the awful mouse lag I'm trying to avoid.
 
VSync synchronises the screens output by displaying a buffer that has already been fully rendered.
The problem with Vsync is that it cannot display 1/2 frames or fractions of frames so it will miss a complete frame if a frame isnt ready to be drawn when using a single framebuffer.
This results in a halving of the frames per second when you cannot draw as many frames as the vsync refresh rate.
ie at 60Hz refresh rate with Vsync on, you will get 30fps if your gfx card isnt fast enough to display 60fps or higher. This drops further to 15fps (1/2 again) if your gfx cannot display at 30fps...

This can be mitigated by using more buffers.
ie using 2 buffers so one frame is already drawn while the second is being drawn -
You only lose 1/4 of the framerate instead of half and so on for more framebuffers.
So using 2 framebuffers, If a frame isnt ready, 60Hz Vsync will drop from 60fps to 45fps etc.

There is a downside though, each buffered frame adds one frame delay, so the more buffers you use, the more latency you add to the display output.
At 60fps, each frame takes 16.666ms to draw, triple buffering will add a 50ms (1/20th second) delay.
This can make a game feel like it has higher mouse lag.
 
Back
Top