A note about the "SV-ram direct renderer" - this code uses byte transfers to SV-ram, which is a natural thing to do in e.g. a texture mapper or other byte-oriented code. Since SV-ram isn't cached by the CPU, this is by nature highly inefficient. So if you have a large byte-oriented frame, it is probably a good idea to render this in Fastram and use move16 transfers -> SV-ram. On the other hand, if your code uses word or longword transfers already, performance may be quite a bit faster than the "SV-ram direct renderer" benchmark above. I guess more benchmarks are needed for that scenario! Anyway - huge thanks to Evil for providing these tests!Well not a demo, but I threw together a little test program to see real numbers.
It draws a normal 320x240 8-bit tunnel effect and then display it in various ways. These are the results:
Fastram -> ST-ram (c2p): ~0050 FPS
Fastram -> SV-ram (c2p): ~0066 FPS
Fastram -> SV-ram (move16): ~0090 FPS
SV-ram direct render: ~0062 FPS
Quite suprising that even a Fastram->SV-ram c2p is faster than rendering directly to SV-ram. Fastram->SV-ram with move16 wins with a big margin and that's good because replacing the c2p pass with a move16 pass is almost no work at all.
If you'd like to try this program, here's a link:
Just be aware that it's probably not 100% bugfree and it's not made to look pretty (screen tearings etc). Sources not included, they are a mess. Also it will crash on anything less than 68040 (move16 instruction) and it will certainly not look correct if you don't have a Supervidel. The tests will take a while, it draws 1000 frames per test to get a good average.
IMPORTANT NOTE: It became evident that the current SV firmware has some issues with move16 transfers at > 66MHz. This is currently being worked on and will be fixed in a later firmware release. It is temporarily recommended to use 4 * move.l (or some movem.l construct ) instructions until this issue is sorted out; it won't give move16 performance, but it will prepare the code for it. Stay tuned and thanks for your patience!