WASAPI e il ritorno dell’accelerazione hardware audio
Microsoft prese con Windows Vista la drastica decisione di ridimensionare radicalmente le funzionalità di DirectSound, riducendola di fatto ad una libreria in grado di generare semplice output stereo, nonché la decisione di eliminare il supporto all’accelerazione hardware per le periferiche audio tramite l’interfaccia audio di Windows. Le conseguenze furono principalmente il dover re-implementare i driver da parte dei produttori di periferiche audio e la totale inefficacia di tutti quei software che sfruttavano l’accelerazione hardware per effetti di post-processing e di tridimensionalità audio, come EAX di Creative (per quest’ultima fu rilasciato ALchemY, applicazione in grado di ripristinare gli effetti di tridimensionalità e EAX reindirizzando le chiamate ad OpenAL, libreria audio in grado di sfruttare l’accelerazione hardware indipendentemente dal sistema operativo).
L’attuale interfaccia audio in Windows Vista e Windows 7
Sebbene la scelta di Microsoft fosse da un lato assai discutibile per i problemi sovra elencati, dall’altro fu in parte doverosa: DirectSound stava diventando sempre più improduttivo al crescere della dimensione del progetto; inoltre a Microsoft serviva ampliare la base delle librerie comuni fra XBOX 360 e Windows. Altro motivo fu la volontà dell'azienda di Redmond di cambiare modello driver anche per le periferiche audio e creare una base più solida per i prossimi sistemi operativi. Venne così imposto l’uso della più recente libreria XAudio o in alternativa l’adozione di librerie esterne come OpenAL.
L’evoluzione del mercato software e hardware tuttavia sta facendo cambiare nuovamente idea allo sviluppatore che deve fare in conti da un lato con il crescente numero di applicazioni che implementano codifiche digitali ed effetti di post-processing audio e dall’altro con un aumento considerevole di sistemi di tipo SoC. Se nel primo caso si possono avere cali prestazionali anche considerevoli laddove il software non sia sufficientemente ottimizzato, nel secondo l’affidare ad un hardware dedicato la computazione dell’audio oltre che a migliorare le performance permette di avere un risparmio energetico superiori, elementi entrambi importanti per dispositivi mobile.
La soluzione trovata non è un passo indietro, bensì una nuova combinazione tra architettura software e hardware, laddove la scelta di dove far processare gli stream audio venga affidata al driver, il tutto dialogando direttamente con l’interfaccia audio di Windows (WASAPI) in modo da preservare l’attuale struttura delle librerie audio di alto livello. Inoltre se il numero di stream aperti fosse eccessivo per l’hardware, quelli in eccesso verrebbero processati via software, per poi essere mixati dall’hardware: in questo modo si eliminerebbero una volta per tutte le incompatibilità dettate dalle limitazioni di diverse implementazioni hardware.
La nuova interfaccia audio proposta per Windows 8
Tutto ciò tuttavia non è ancora stato confermato in via definitiva da Microsoft, e in caso accadesse, verrà richiesto ai produttori un aggiornamento dei driver adeguato per implementare tali funzionalità.