[gameprogrammer] Re: Fixed Point Library at gameprogrammer.com

  • From: David Olofson <david@xxxxxxxxxxx>
  • To: gameprogrammer@xxxxxxxxxxxxx
  • Date: Fri, 7 Dec 2007 23:25:30 +0100

On Friday 07 December 2007, Bob Pendleton wrote:
[...]
> What kind of machine still needs fixed point arithmetic?

PS2 and other consoles of similar age or older, pretty much anything 
handheld (ARM CPUs and the like), and probably some other devices...

Some (like the PS2) do have 32 bit floating point support in the 
hardware, but not 64 bit. Even if there is serious FP support in 
theory, you cannot make use of it without platform specific code.

This is why I'm *still* not sure how much integer/fixed point support 
there will be in Audiality 2. Do I care about these machines, or is 
it ok if my games cannot realistically be ported to them?

Kobo Deluxe takes several *minutes* to render the sounds on some of 
these platforms - sometimes just because of the 64 bit phase 
accumulators in some oscillators, sometimes because there is floating 
ponit DSP at all. The former shouldn't be a big job to fix, whereas 
the latter requires a complete rewrite of all DSP code.

For now, I'm getting away with caching sounds to disk, but that only 
works because the real time part of Audiality 0.1.x is actually just 
a simple sampleplayer with some master effects. Even so, "several 
minutes" is a long time to wait, even if it's just the first time you 
start the game. And of course, it wastes disk space and works only 
for games that don't need any dynamic real time synthesis. I think 
it's a dead end, basically. This stuff belongs on high end PCs only.

I'm considering downgrading Kobo Deluxe to a simpler integer-only real 
time synth ("SID on steroids" style) so it'll run well on low end 
hardware, and then forgetting about all that and focus on PC style 
hardware only for future projects. This integer/FP separation just 
causes too much extra work, even though theoretically, the CPU power 
is sufficient, at least for load-time rendering.


//David Olofson - Programmer, Composer, Open Source Advocate

.-------  http://olofson.net - Games, SDL examples  -------.
|        http://zeespace.net - 2.5D rendering engine       |
|       http://audiality.org - Music/audio engine          |
|     http://eel.olofson.net - Real time scripting         |
'--  http://www.reologica.se - Rheology instrumentation  --'

---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html


Other related posts: