🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: rec.games.programmer
Article #1576

Re: Triple Buffering: NOT!

#1576
From: Kendall Bennett
Date: Sat, 26 Dec 1992 03:48
47 lines
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!kjb
References: <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