4 ms·
entirely of back-to-back operations with denormals In the context of sound, I could see this happening with an exponentially decaying envelope generator (or an
by nitrogen 5y ago
entirely of back-to-back operations with denormals
In the context of sound, I could see this happening with an exponentially decaying envelope generator (or an IIR filter).
- spacechild1 5y agoYes. It is very easy to accidentally produce denormals in recursive audio algorithms.
- SeanLuke 5y ago100% correct. Many audio and synthesis algorithms, including mine, perform LOTS of iterated exponential or high-polynomial decays on variables, such as x <- x * 0.1, or x <- x * x or whatnot. These decays rapidly pull values to the denormal range and keep them there, never hitting zero. Depending on the CPU, this in turn forces everything to go into microcode or software emulation, producing a gigantic slowdown. There are other common cases as well. The only way to get around this in languages like Java, which cannot flush to zero, is to vigilantly check the values and flush them to zero manually.