Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!cbmvax!daveh From: daveh@cbmvax.commodore.com (Dave Haynie) Newsgroups: comp.sys.amiga.hardware Subject: Re: Bitplanes - good or bad Keywords: writing a pixel Message-ID: <10432@cbmvax.commodore.com> Date: 29 Mar 90 19:34:15 GMT References: <5917@tekig5.PEN.TEK.COM> Reply-To: daveh@cbmvax (Dave Haynie) Organization: Commodore, West Chester, PA Lines: 50 In article <5917@tekig5.PEN.TEK.COM> wayneck@tekig5.PEN.TEK.COM (Wayne C Knapp) writes: >After many countless hours of programming on my Amiga. I'm becoming to >realize that a major short comming of the Amiga is the fact that it uses >a bitplane memory design for graphics and any real graphics require the >processor. You have to define "graphics" considerably more carefully to make that a true statement. What you're really talking about is pixel by pixel image processing. In that case, you're right. This is no new discovery, but very well known -- bitplane architectures are at their worst in the case where a CPU needs to read a pixel, perform an operation on it, and then write the pixel back out. There are quite a few advantages of bitplane architectures as well; they generally support high-level operations better. If, for example, you need to draw a line or fill an area, the packed pixel approach much operate on every single pixel, and that operation may very well be a masking operation, not just a simple fill. The bitplane architecture need only operate on the affected planes, which in the worst case means it has as much work to do as the packed-pixel machine. However, this is something easily parallelized -- there's nothing preventing all bitplanes from being operated on simultaneously. The National Semiconductor 8500 series graphics system does this. You'll notice some of the more advance graphics chips around have caught onto the idea that neither packed pixels nor bitplanes are always a win. It's possible to allow both types of access. It gets pretty complex when you let both happen at once, but that may not always be necessary. In most cases, the type of pixel addressing that's most useful changes with the application. If you're doing lots of image processing on an image in video memory (personally, I'd move it into fast 32 bit memory if I had lots of processing to do, anyway), you want deep packed pixels and something on the order of a PAL/NTSC resolution. If you're running a 2D CAD or DTP application, you want a few bitplanes, but something megapixel. However, in most of the work done on small computers these days, there's no big win in either architecture. The big wins are having something that'll draw for you in parallel with and/or faster than your main CPU. The Amiga's graphics chips are the simplest case of such a system, and that's why with most of the things most people do on the Amiga, they find it faster at graphics than other machines in it's class (eg, I'll put an A2000 up against any other 16 bit/~8MHz/GUI-based machine out there in overall graphics speed). > Wayne Knapp -- Dave Haynie Commodore-Amiga (Systems Engineering) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy Too much of everything is just enough