Numeri denormalizzati
Valori in virgola mobile così vicini a zero da far passare la CPU a un percorso lento — la ragione classica per cui un riverbero silenzioso divora il processore.
Lo standard IEEE 754 permette ai valori inferiori al più piccolo esponente normale di avvicinarsi a zero con precisione decrescente, invece di scattare a zero di colpo. È matematicamente elegante e praticamente costoso: su molte CPU x86 vengono gestiti in microcodice e una singola operazione può richiedere cento volte più del normale.
Il codice audio cade in questa trappola più di quasi ogni altro. Un filtro a retroazione o la coda di un riverbero dimezza continuamente il proprio valore fino a entrare nel territorio dei denormalizzati — proprio quando tutto è ormai silenzioso. Il risultato sono picchi di CPU e xrun nel momento in cui la musica si ferma. Le soluzioni sono i flag FTZ e DAZ nel registro di controllo SSE, che arrotondano tali valori a zero, oppure il vecchio trucco di aggiungere un offset in continua inudibile o un soffio di rumore.