Triple Buffering

Datman

Distinguished
Nov 20, 2004
875
0
18,980
Has anyone had much to do with triple buffering in Open GL on graphics cards. It seems to smooth out the picture to me, but limits top FPS a little.
 
With double-buffering and VSYNC enabled you're limited to an integer divisor of the monitor refresh rate.

For example, if the monitor is at 90Hz, then if your graphics card can only manage to render at 89fps the displayed frame rate will drop to 45fps. If it can only render at 44fps, then the displayed frame rate will drop to 30fps. With triple-buffering it would display at 89fps or 44fps, thereby 'smoothing out' frame-rate drops.

The reason for the difference is a little convoluted, but basically double-buffered rendering has to wait for the previous frame to be fully displayed before it can display the current frame and render the next, whereas triple-buffering has a third buffer that it can be rendering to while it's waiting.

If the max frame-rate is dropping I'd guess it's because the third buffer is taking up a few more megabytes of video RAM and pushing out some textures or vertex buffers into host memory.