I really don't see the use of more than 4 buffers (quad-buffering, which is used for stereoscopy ). Most applications use 2 buffers (double buffering), so the application can start drawing the next frame in the second (reverse) buffer while the first (front) buffer is displayed on the monitor, otherwise the application will have to wait for the front buffer to finish drawing on the screen before he can start drawing the next frame. Triple buffering simply extends the idea, so there are two back buffers. Thus, if the application can finish drawing the entire buffer faster than the front buffer takes on the screen, then it can start drawing the next frame to the third buffer, and not wait for the front buffer to finish the presentation.
I'm not sure if this is the answer to your question about other applications using 7 buffers, but again I donβt think it is necessary, since monitors only update at a speed of 60 to 75 Hz usually.
If your application runs so fast that it can draw 2 buffers before completing the first buffer, just make the application sleep until the front buffer is complete, to allow other programs to use the processor, or spend extra time doing some other things for your application. If this is a media player, you can spend extra time on more expensive operations to improve the quality of multimedia playback.
here's a link describing buffering, although they don't talk about more than 4 buffers, probably because there is no need.
http://en.wikipedia.org/wiki/Multiple_buffering
PS perhaps the reason that the application is likely to lose some frame rate when using, for example, 7 buffers, is because the application probably does not have time to write all the buffers before they need to be displayed on the screen. This would probably be wrong if multithreading was used, because the next buffer could be displayed on the screen before the application finished drawing to all other buffers.
iedoc source share