by Dinesh Thakur

A technique called double buffering permits one set of data to be used while another is collected. It is used with graphics displays, where one frame buffer holds the current screen image while another acquires the bits that will make up the next image. When it is ready, the buffers are switched, the new screen is displayed, and the process continues. 

This reduces the minimum time between successive frames to the time required to switch buffers, rather than the time required to RENDER a whole frame, so avoiding a lengthy dark space between frames.

In a typical situation, a processor will be capable of producing data several orders of magnitude faster than a peripheral can accept it. In order to make most efficient use of the processor, the data will be placed in a buffer and its location made known to the peripheral. The peripheral then proceeds to empty the buffer while the processor is freed for other work.