[PD] switch~ & cputime climbing
Claude Heiland-Allen
claudiusmaximus at goto10.org
Wed Jun 6 17:25:41 CEST 2007
Derek Holzer wrote:
> This could almost be the denormal problem again. Is it an Intel
> processor on the MacBook? Intels are notorious for poor handling of
> denormal numbers, which occur when the mantissa (decimal places) of a
> number representing an audio signal becomes too long (such as happens
> with reverb tails, etc). Check the archives for more than just a bit of
> discussion on this, with some solutions (?) and certainly some workarounds.
Some solutions are presented here, with rationales as when each solution
is best used:
http://www.musicdsp.org/files/denormal.pdf
In my exponential decay envelopes, I add a small number and subtract it
again, which forces denormals (which are very close to zero) to be
exactly zero.
Example: if you have 4 significant digits:
denoraml = 0.00000001234
denormal + 0.0001234 => 0.00012341234
truncate to 4 significant digits => 0.0001234
truncated - 0.0001234 => 0 (exact)
This has to be done *within* the feedback loop, as that is where the
denormals cause bigger problems.
Other methods may be more appropriate for different scenarios...
BTW: it isn't just Intel processors, on AMD athlon-xp I reduced CPU
usage a fair bit too (although I hear Intel Pentium-4 is particularly bad).
Claude
--
http://claudiusmaximus.goto10.org
More information about the Pd-list
mailing list