C (279/304)

From:Bart King
Date:31 Aug 2000 at 10:58:58
Subject:Re: CGX and Bitmaps

At 30-Aug-00 19:20:32, Tim Hanson <msinister@connectfree.co.uk> wrote:

> It also means you don`t have to synch with the vertical blank if I nderstand
> what I`ve been told.

Triple-buffering is this:

- Two buffers for standard double-buffering techniques. Swap the
display when the "back" buffer has been updated.
- One buffer for working on. This buffer is updated all the time, and
copied to the "back" buffer after all rendering is complete.

Triple-buffering is used by programs that do all their work with chunky
data - it is not required for Amiga planar rendering because you can
just use the "back" buffer of double-buffering and it saves Chip memory.
A third buffer can be used for mixing, blending and other effects as
well without destroying the original screen data.

Pros and cons with triple-buffered displays:
+ Slick and smooth display updates.
+ Makes good use of the graphics cards own hardware.
+ Faster than using computer's memory.
- Uses a lot of memory on both the graphics card and the computer.
- If the display synchronization is out, a "flashing" effect occurs.
- A bitch to implement, especially if you need to support AGA as well.

As a guide, my video sub-system (which uses triple-buffering) complete
with rendering functions and AGA support weighs in at a heavy 300 K of
code - and that's without nice effects.



Bart King of Bartman Software : Software Developer for Amiga/PC/PHP4
Work: http://www.bartmansoftware.co.uk -- bart@bartmansoftware.co.uk
Own : http://bart.shagged.org -- bart@shagged.org
. . . . . Team Member of AmiBench: http://ami.bencher.org. . . . .
. . . . . . . damned that I do, damned that I don't. . . . . . . .