Triple buffering

In computer graphics, triple buffering is a variant on double buffering, a technique for drawing graphics that show no (or less) flicker, shearing, and tearing artifacts.

Triple buffering attempts to provide a speed improvment over double buffering. In real life applications, this often involves trying to abstract the graphics drawing operations from being synchronized with the monitor's refresh rate. Typically this involves frames being drawn at a rate lower than or higher than the monitor's frame rate (a variable frame rate) without the usual effects this would cause (namely flickering, shearing and tearing).

Due to the software algorithm not having to poll the graphics hardware for monitor refresh events, the algorithm is free to run as fast as possible. This is not the only method of triple buffering available, but is the most prevalent on the PC architecture where the speed of the target machine is highly variable.

Another method of triple buffering involves synchronising with the monitor frame rate, and simply using the third buffer as a method of providing breathing room for changing demands in the amount of graphics drawn. This is the use of a buffer in the true sense whereby the buffer acts as a reservoir. Such a method requires a higher minimum specification of the target hardware but provides a consistent (vs. variable) frame rate.

Triple buffering implies three buffers, but the method can be extended to as many buffers as is pratical for the application.

copyright 2004