home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dream 55
/
Amiga_Dream_55.iso
/
RISCOS
/
APPS
/
MUSIC
/
0-N
/
AUDIOF.ZIP
/
AudioFire
/
!FireBench
/
!Help
next >
Wrap
Text File
|
1998-04-13
|
3KB
|
58 lines
==============================================================================
FireBench V0.1 by Michael Kⁿbel 28/02/98 (Risc PC only, sorry...)
==============================================================================
This is only a kind of a waste product for my '!AudioFire' program, so don't
take this too seriously...
I wrote this to check how fast my fire routine can calculate a fire and
to test the impact of some code optimizations.
Here are some results:
Time -> Frames/s
--------------------------------------------------------------------------------
Risc PC, ARM 610, 40 MHz 16.04 62.34
Risc PC, StrongARM, 202 MHz 5.71 175.13
Risc PC, StrongARM, 257 MHz 5.25 190.47
Risc PC, StrongARM, 287 MHz 5.00 200.00
--------------------------------------------------------------------------------
(Please note that the results differ a bit each time you run !FireBench,
may be about +/- 0.05 sec. or something like that)
As you can see, the StrongARM is only about 3 times faster than my ARM 610
machine. This must be because of the huge memory access of this algorithm.
I still hope that Acorn puts a 2nd level cache in the Risc PC 2 :-) !!!
If you've got any different results (ARM710,more/less Mhz,...) post them
to me !
Some technical notes...
This is a fire simulation which calculates the new pixels from the eight
sourrounding pixels and stores the new pixels as you can see here...
XXX X:old pixels => sum all 8 => div by 8 => store new one (O) at XOX
X X X X
XXX XXX
Due to the overlapping pixels, a second buffer is needed and there have
to be put some random hotspots in the basic line.
I optimized everything as much as I could. No STRB's/LDRB's in the fire
calculation routine. I use every free ARM register and so I first read
all pixels I need WORDwise, build some often used sums, calculate 4 new
ones and then store all with one STR.
If you've done further speed improvements please let me know !!!
Of course a fire calculated of 4 pixels can be done much faster, but I think
it doesn't look that good...
Contacting me
-------------
Please don't hesitate to report any bugs, ideas, or whatever to me:
s-mail: Michael Kⁿbel, Wei▀enhofstr. 36, 74235 Erlenbach, Germany
e-mail: kuemmel@studbox.uni-stuttgart.de