Welcome, Guest. Please login or register.

Author Topic: Amiga Animation and CHIP RAM versus FAST RAM  (Read 21431 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline platon42

  • Hero Member
  • *****
  • Join Date: Jul 2002
  • Posts: 573
    • Show all replies
    • http://www.platon42.de/
Re: Amiga Animation and CHIP RAM versus FAST RAM
« on: March 30, 2008, 10:40:10 PM »
The Amiga (OCS/ECS or AGA) is capable of outputting animations at the display refresh rate, which is 60Hz for NTSC and 50Hz for PAL -- or other refresh rates (e.g. AGA modes like Super72 at about 72 Hz) -- and this is independent of the TV or display using interlace technique for half-frames. If the Amiga outputs the display in non-interlace mode, the same display lines will be updated, hence it is full 50/60Hz.

What is displayed during each frame depends on the copper list that selects the memory address for the displayed bitplanes. The Amiga is capable of multi-buffering which only requires a few pointers to be changed to switch between animation frames (with 2 MB chipram, about 25 full frames (320*256*8 bit (or HAM8)) can be stored in memory -- an A500 with 512KB chipmem can hold 8 full frames of HAM6 animation in memory). This means, you could play back 8 frames of uncompressed animation with nearly no CPU use (you could also have some of the bitplanes fixed to some graphics (like a colour gradient) and only update one bitplane, like I used this in the tunnel effect for my Tubes game graphics).

But usually an animation consists of more frames. Hence, only double buffering is used, hence while one frame is displayed, the next frame will be rendered using the CPU or blitter (e.g. for polygon gfx).

The anim5/7/8 etc formats use this technique for specifying the deltas between frame x and x-2, so depending on the amount of changes, not all 60KB for a 320*256*HAM6 frame need to be updated. Even a 68000 running at 7.14 MHz is capable of transferring memory that fast for 60 frames per second. As HAM6 is a hardware compression technique for 12 bit (4096 colours) into 6 bit, HAM6 has usually more delta due to digital noise in the image, for example in raytracing animations or movies. If the source of the anim is stored in fast ram, the cpu usually can operate a bit faster on it.

The iff-anim formats 5/7/8 are more or less the same and only differ in the width of the vertical slices that are used for updating the next frame. AFAIR anim5 uses byte (8 pixel wide) slices, whereas anim7 uses word (16 pixel) and anim8 uses longword (32 pixel) wide slices and thus are less cpu intensive -- at worse compression rate.

In summary: Comparing a 6 bit deep HAM6 animation in anim5 format might not be fair to compare against a 5 bit deep 32 colour animation in some other format using different compression. The Amiga itself is very well capable of real-time "one frame" animations.

Most games have "one frame" engines, such as Turrican, James Pond, Lionheart, Jim Power or Zool. Only a few use "2 frame" updates, such as Banshee or Magic Pockets.

Everything answered by now?
--
Regards, Chris Hodges )-> http://www.platon42.de <-(
hackerkey://v4sw7CJS$hw6/7ln6pr7+8AOP$ck0ma8u2LMw1/4Xm5l3i5TJCOTextPad/e7t2BDMNb7GHLen5a34s5IMr1g3/5ACM
 

Offline platon42

  • Hero Member
  • *****
  • Join Date: Jul 2002
  • Posts: 573
    • Show all replies
    • http://www.platon42.de/
Re: Amiga Animation and CHIP RAM versus FAST RAM
« Reply #1 on: March 31, 2008, 12:53:16 AM »
Quote

If not, was it the CHIP RAM in the Amiga preventing 60fps animations? Was it the slightly slower clock speed (7.1 MHz vs 8.0 MHz) of the 68000? Was it the more memory intense files of the Amiga- Atari's 4bit versus Amiga's 5bit picture files? Was it perhaps the Amiga 500 only had 512K?


Sigh.

Using 5 or 6 bitplane modes in OCS/ECS (A500) in lowres will hurt CPU performance when accessing CHIP ram, as even and some odd cycles (normally reserved for the CPU) are used for display DMA. I think it was about 17% slower for 6 bitplanes (six bitplanes for HAM6, not five as you said). I don't know how the ST accessed its memory and if it had to share CPU cycles with the display controller. Probably it had, but I don't know the impact.

And yes, 7.1Mhz vs 8 MHz also has an impact.

And yes, 6 bitplanes is more memory intense than 4 (16 colours) or 5 (32 colours) bitplanes, thus more cpu power is required to process it.

And no, it is not about the less memory.

And I still claim that it was possible to achieve 60fps on a standard A500 with HAM6 animations at 320x200 pixels and only 512KB chipmem (there were some scene demos doing exactly that). But I am not sure that the anim5 was suitable for that due to compression scheme -- hence I cannot confirm that the software players would achieve 60 hz on that particular animation you were mentioning.
--
Regards, Chris Hodges )-> http://www.platon42.de <-(
hackerkey://v4sw7CJS$hw6/7ln6pr7+8AOP$ck0ma8u2LMw1/4Xm5l3i5TJCOTextPad/e7t2BDMNb7GHLen5a34s5IMr1g3/5ACM