Ok, finally I have some numbers that confirm all the good words that fzammetti have spent on my sound library
I have build a little program with gapidraw to test my library on my ipaq 3950. I have
also build a totally identical version with fmod to compare my value with the state
of the art
The test was made on my ipaq 3950 with a gapidraw (2.01b) app playing
- 1 ProTracker module (4 channel)
- 8 simultaneous 8bit mono waves
I have used for all tests Hekkus ver. 0.98.rc1 and fmod ver. 3.71
The average cpu usage without sound was 50%
(*) The library cpu usage are taken from two different function so they can't be comparable.
If you made some simple operation you can see that all the two library's cpu % are accettable. For example Hekkus at 22KHz/16/stereo have a 67% cpu usage and at 11025KHz/16/Stereo 63%. So you have and increase from one to the other of 4% (67% - 63% = 4%).
You get the same value if you caluculate the delta from respective Library Cpu Usage %(10% - 7% = 3%). This works for all the % for hekkus and for fmod, just try.
(**) It seems that you can't specify with fmod the bit rate and mono/stereo output but as you can see the low quality value are very similar to the hi quality ones because on the mixer I work with 32bit value and then I scale all with shifts to fit 16 or 8 bit value (and I think that fmod works similar).
What can I say? Only that my library is very fast
Now I'm cleaning a little the benchmark program then I will post here the link so if someone want to verify my numbers...
Memory usage:
Hekkus is ultra memory optimized (it was born on the GBA and the little nintendo machine don't have a lot of memory to wrast)
Const data (tables for mod playing) 32kb
Just a little addition, this is the most userful table. I have measure the time my sound library spent to process 1 second of sound data (with 1 module and 8 waves playing)
So if you want to know how time my library spent on your 30fps based game just pick the right mixer mode and divide it by the fps, in this case 30.
For example on a 30fps game and a mixer mode of 22050/16/stereo hekkus consume 84/30= 2,8 ms per frame. Not too bad
