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).