Path: utzoo!news-server.csri.toronto.edu!rutgers!maverick.ksu.ksu.edu!zaphod.mps.ohio-state.edu!sdd.hp.com!spool.mu.edu!snorkelwacker.mit.edu!ai-lab!geech.ai.mit.edu!rjc From: rjc@geech.ai.mit.edu (Ray Cromwell) Newsgroups: comp.sys.amiga.graphics Subject: Colorburst and Animation Message-ID: <13948@life.ai.mit.edu> Date: 13 Mar 91 18:14:27 GMT Sender: news@ai.mit.edu Organization: The Internet Lines: 92 From a discussion in comp.graphics: In article <1991Mar13.053548.18866@ncsu.edu> kdarling@hobbes.ncsu.edu (Kevin Darling) writes: >In <1991Mar12.193951.634@mintaka.lcs.mit.edu> rjc@wookumz.ai.mit.edu (Ray Cromwell) writes: >>>In article <1991Mar12.082113.16351@ncsu.edu> kdarling@hobbes.ncsu.edu (Kevin Darling) writes: >>>Another thing to consider: I read that its RAM is loaded by sending the >>>R,G,B components as separate images from the Amiga video output lines. >>>In the highest res mode, that would take 6 Amiga display frames to do. >> >> The Colorburst transfers data at 5.5 megabytes/sec through the db23 port. >> A lo-res screen is 40bytes widex200 lines deep x 24 bits. That's 192k, >> at 5.5mb/sec gives up 30 frames per second. > >Yes and No. Here's the bottleneck: CPU --> DISPLAY RAM --> COLORBURST > slow--^ fast--^ > >Sure, you can easily get 5.5 megabytes/sec coming out the video connector, >or around 100K per 60Hz field. Assuming the data is sent out continously, >the Amiga could output the 192K needed for a static 320x200x24-bit picture >in 1/30th second, just as you said. > >The question is: _Where_ does all that data come from? :-) It comes >from data being placed into the Amiga display RAM. A friend and I sat >down this afternoon and did some animation figuring: > >At the res needed to output 100K/second, the cpu access to Amiga CHIP ram >(display ram to others) is tied up by video DMA around 80% of the time. >Nothing unusual; this shut-out is well known when using the Amiga display >in higher res modes. > >But in blunt terms, that means only around 3,000 16-bit transfers into >the CHIP ram can be done (obviously fewer if the cpu is doing it), >per field, at the same time as the data is being sent to the Colorburst. >At 24-bits/pixel, that's roughly a 50x40 pixel area every 1/60th second. >Maybe double that on an Amiga 3000 with 32-bit CHIP access. > >Now sure, you can fill up the CHIP ram with a limited amount of preset data, >use lower bits/pixel, slow down fps, and so on. You can bet that demos do >just that. But any way you cut it, their 5.5MB/s figure is akin to those >common hard disk xfr specs which ignore seeks, etc.... it's a best-case, >limited duration transfer rate... dependent upon source data availability. > >It's a useful board, but at the same time, reality must be observed :-). >Followups to c.s.a.graphics, where I'll also be happy to answer your HAM-E >questions, if you still wish. best - kev Your example provides a worst case scenario, I am going to provide the best case. Clever tricks are always availible to help: A 320x200x24 screen is 192k In one refresh frame the Amiga can send about 100k, and in 60 frames this is the 5.5 megabytes figure we recognize. The Colorburst has 1.5mb of onboard memory, this is enough to store 8 lores 24bit screens. The Amiga can send a full colorburst frame about every 2 vertical blanks which gives us 30 frames per second assuming we had infinite chip ram or no processor lock-out. My solution? Preload the colorburst's memory with 8 frames, allocate 572k of chip ram and stuff three frames in chip. Here's the procedure to get 20fps 320x200x24 animation. 1)display frame from colorburst's memory 2)erase frame in colorburst's memory 3)display next frame from colorburst's memory 4)start transfering one colorburst frame amiga chipram (takes 1/30th second) 5)TURN VIDEO DMA COMPLETELY OFF, and copy a colorburst frame from fast memory to amiga chip memory (takes 1/15th second) 6)turn dma back on, and go to step 2 So it takes a total of 1/30th + 1/15th second to insure colorburst gets a frame constantly. This amounts to 20fps which is acceptable. On a 9mb Amiga this amounts to 3 seconds of animation. This however does not take into account compression which can dramatically increase the length of the animation. I believe MAST advertised 20fps in their adds, and by simple calculations you can see it is possible. Let's stop for a second and assume colorburst was totally incapable of animation. A board that can display 24bits of true color, and in addition 24bits of overlay, with 1.5mb of ram onboard, and works with all Amiga's? And it only costs $400! The next comparable board costs $1600? Colorburst is a great deal, even if it couldn't animate, which it can. Let me give you some background. I have never read a single marketing add for Colorburst, all of my informatin on it came from their BBS directly from the designer of Colorburst, and my calculations were based on the figures from the Amiga Hardware Manual. Looks like reality has been observed at last. ;-)