Article View: rec.games.programmer
Article #1576Re: Triple Buffering: NOT!
From: Kendall Bennett
Date: Sat, 26 Dec 1992 03:48
Date: Sat, 26 Dec 1992 03:48
47 lines
2999 bytes
2999 bytes
vanderby@mprgate.mpr.ca (David Vanderbyl) writes: >eker@loria.fr (Steven Eker) writes: >>If your frame redraw code takes longer than one video frame, one way of speeding >>things up is to use triple buffering rather than double buffering. >[explanation deleted] >Triple buffering is completely useless. (Almost) Here's why. >Let's say your screen redraw takes 0.9 of the frame rate time. >No problem, right? You simply draw each frame and wait for >the vertical retrace. >Now let's say your screen redraw takes 1.1 of the frame rate time. >If the frame rate is 1/30 second per frame then your redraw takes >1.1/30 of a second. So in 1 second you need to draw 30 frames for >a total of 1.1/30 * 30 = 1.1 seconds. It doesn't matter how many >buffers you use, you can't do 1.1 seconds worth of drawing in 1 >second. Right, so using double buffering in your example, it takes 1.1/30 seconds to draw the frame, which is longer than a single frame video refresh. Note, you _cannot_ flip the page unless the video in inside a vertical refresh. In this case, it is not, and you will need to wait an extra 0.9/30 of a second waiting for the refresh to flip the page, which could be spent redrawing the next frame in the third buffer. Think about it. >To the person who posted their triple buffering idea: >Please state that you idea is just that, an idea. (and in this >case not a very good one.) It will save a lot of people from >being misled. Could I please ask that people like you who like to express your opinons on subjects, continue to do so in a manner that does not offend anyone. It is very easy to _think_ you know the answer to a subject, but it is quite possible that your answer is incorrect (MORAL: never take anything anyone says at face value, always add that pinch of salt...) +------------------------------------------+-------------------------------+ | Kendall Bennett | Internet: | | RMIT Advanced Computer Graphics Centre | kjb@citri.edu.au | | CITRI Building, 723 Swanston Street | rcskb@minyos.xx.rmit.oz.au | | Carlton Victoria 3053 AUSTRALIA. | | +------------------------------------------+-------------------------------+ | CoSysop (Bossman), PC Connection Australia: +61 3 688 0909 | +--------------------------------------------------------------------------+
Technical Details
Message-ID:
<kjb.725341734@godzilla.cgl.citri.edu.au>Path:
arc1-ca.pugleaf.net!sparky!uunet!munnari.oz.au!mel.dit.csiro.au!etrog!kjbReferences:
<1992Dec21.171731.26731@midway.uchicago.edu> <1992Dec22.202057.18233@blkbox> <709@muller.loria.fr> <1992Dec24.185505.27786@mprgate.mpr.ca>Show Full Headers
Complete Article Headers
Newsgroups: rec.games.programmer Path: arc1-ca.pugleaf.net!sparky!uunet!munnari.oz.au!mel.dit.csiro.au!etrog!kjb From: kjb@cgl.citri.edu.au (Kendall Bennett) Subject: Re: Triple Buffering: NOT! Message-ID: <kjb.725341734@godzilla.cgl.citri.edu.au> Sender: news@etrog.se.citri.edu.au Organization: Collaborative Information Technology Research Institute References: <1992Dec21.171731.26731@midway.uchicago.edu> <1992Dec22.202057.18233@blkbox> <709@muller.loria.fr> <1992Dec24.185505.27786@mprgate.mpr.ca> Date: 26 Dec 92 03:48:54 GMT Lines: 47