CyberGfx | CyberGfxGray | Gray | HAM | |||||
---|---|---|---|---|---|---|---|---|
24 | 16 | 24 | 16 | 8 CGFX | 8 AGA | 8 AGA w/patch | 8 | |
040/25MHz CV64 | 6.93 | 6.46 | 10.52 | 11.26 | 12.18 | 6.01 | 7.42 | 6.49 |
040/40MHz CV64 | 14.00 | 12.69 | 20.58 | 21.47 | 23.94 | 10.36 | 11.76 | 12.19 |
060/50MHz CV64 | 24.45 | 22.68 | 37.55 | 40.93 | 45.74 | 18.72 | 17.5 | 24.11 |
CyberGfx | CyberGfxGray | Gray | HAM | |||||
---|---|---|---|---|---|---|---|---|
24 | 16 | 24 | 16 | 8 CGFX | 8 AGA | 8 AGA w/patch | 8 | |
040/40MHz CV64 | 6.62 | 5.6 | 10.66 | 11.73 | 14.87 | 3.79 | 4.80 | 5.11 |
060/50MHz CV64 | 9.75 | 8.71 | 16.73 | 19.17 | 25.27 | 6.91 | not tested | 7.63 |
Many thanks to my betatesters - Chris J.Coulson and Walter Dees, who provided me with some of the above timings.
New speed-tests will be perfomed and published here as time permits.
PatchWPA8
graphics.library's WritePixelArray8() function has a bug, that causes it
to clear the memory region being converted from chunky to planar. Visible effect of
this is severely damaged display, when aMiPEG plays in gray mode on native
screens. Fixing this inside aMiPEG would require making a copy of the data
to convert, and that would slow down the playing speed. Considering the
fact that speed is already quite poor in this mode, mainly because of low
quality chunky-to-planar algorithm employed by WritePixelArray8(), and CHIP
RAM's low bandwidth, I decided to opt for the other solution: PatchWPA8 by Pawel Hernik
patches the WritePixelArray8() and replaces its code with custom
written c2p routine, which is much faster than the original. Also, the
aforementioned bug is not present, and that's why I would like you to use
this patch together with aMiPEG. If you are using new SetPatch (43.5) from Amiga
Technologies, there won't be any artifacts in either case (thanks to bugfixed WritePixelArray8(),
but PatchWPA8 is faster.
Of course above paragraph does not apply to CyberGraphX video modes, as they use completely different version of WritePixelArray8() anyway.
And one last thing. Some people would argue that clearing chunky data by WritePixelArray8() is not a bug, but rather a side effect or even a deliberate action. A quick look at disassembled ROM code proves otherwise...