Per impostazione predefinita, Windows sposta l'audio fra le applicazioni e il tuo hardware audio in buffer da 10 millisecondi, e quella è una cifra di Microsoft stessa, non una stima: "by default all applications in Windows 10 and later will use 10-ms buffers to render and capture audio". Tutto il resto — effetti, elaborazione spaziale, ricampionamento, un collegamento wireless — si aggiunge sopra quel pavimento. Se i tuoi passi arrivano dopo il lampo dello sparo, il motivo può essere una di quelle aggiunte, e le sezioni qui sotto le esaminano una per una.
Il percorso di un suono, con le cifre di Microsoft
Il documento Low Latency Audio di Microsoft scompone il percorso di riproduzione in fasi e mette dei numeri su quelle che controlla. In breve:
| Fase | Quanto costa | Fonte |
|---|---|---|
| Il gioco scrive l'audio in un buffer | — | — |
| Il motore audio lo legge e lo elabora, caricando gli effetti come audio processing object (APO) | 1,3 ms in Windows 10 e successivi, contro i circa 12 ms delle applicazioni in virgola mobile e i circa 6 ms di quelle intere di prima | Microsoft |
| Ogni effetto della catena aggiunge il suo | "The latency of the APOs varies based on the signal processing within the APOs" — nessuna cifra fissa | Microsoft |
| Il motore scrive nel buffer che il driver legge | 10 ms per impostazione predefinita; il minimo lo dichiara il driver audio | Microsoft |
| Il driver lo passa all'hardware, che può elaborarlo di nuovo | Dipende dal dispositivo, non pubblicato | — |
| Altoparlante o cuffia | Fisica | — |
Di quel documento vale la pena portarsi dietro due fatti:
- I 10 ms non sono una legge, sono un valore predefinito. Da Windows 10 il driver dichiara il buffer più piccolo che riesce a gestire, e un'applicazione può chiederlo. L'esempio di Microsoft: il driver HDAudio incluso "has been updated to support buffer sizes between 128 samples (2.66ms@48kHz) and 480 samples (10ms@48kHz)".
- Solo l'applicazione può chiederlo. "If an application needs to use small buffers, then it needs to use the new AudioGraph settings or the WASAPI
IAudioClient3interface, in order to do so." Non esiste un'impostazione di Windows, né un valore di registro, che faccia chiedere a un gioco un buffer più piccolo. Nessun software di messa a punto può farlo al posto tuo, il nostro compreso.
C'è una conseguenza interessante. Microsoft afferma che quando un'applicazione chiede un buffer piccolo, "all applications that use the same endpoint and mode will automatically switch to that small buffer size", e il motore torna a 10 ms quando quell'applicazione esce. Quindi un'applicazione a bassa latenza già in esecuzione sulla stessa uscita può rimpicciolire il buffer che sta usando il tuo gioco, senza che il tuo gioco lo sappia.
Causa 1 — un headset Bluetooth che apre il microfono
Se usi un headset Bluetooth e ci parli anche dentro, questa causa ti riguarda, ed è documentata, non folklore.
Windows riproduce in stereo su A2DP e usa il profilo Hands-Free per il microfono — e non può fare le due cose insieme. La pagina Bluetooth Classic Audio di Microsoft dice che su Windows 11 Windows passa da A2DP a HFP quando "an application opens the input (microphone) endpoint" oppure quando "an application creates an output (playback) stream with the category set to Communications". HFP gira a 8 kHz (banda stretta) o 16 kHz (banda larga), in mono, e "Windows automatically resamples audio as needed for the currently selected profile" — quindi un gioco che riproduce audio a 48 kHz viene ricampionato verso il basso per adattarsi a un collegamento di qualità telefonica nel momento esatto in cui la tua chat vocale apre il microfono.
È per questo che un headset suona bene nei menu e malissimo in partita: non è lo stesso percorso audio.
Cosa fare:
- Per il gioco competitivo usa un headset cablato, oppure un headset wireless dedicato a 2,4 GHz con il suo ricevitore USB. Quelli mantengono un percorso unico e non cambiano profilo.
- Se devi restare in Bluetooth, usa un microfono separato, così niente apre l'endpoint di ingresso dell'headset e il dispositivo resta su A2DP.
- Controlla quale codec hai ottenuto davvero. Windows sceglie il primo codec supportato da entrambe le parti, nell'ordine aptX Adaptive, AAC, aptX Classic, SBC — la tabella di disponibilità per versione di Windows è sulla stessa pagina di Microsoft.
- Se il dispositivo si accoppia male o gli endpoint spariscono del tutto, quello è un guasto diverso: la scheda di riparazione è Bluetooth.
Un collegamento Bluetooth aggiunge tempo di codifica, trasmissione e decodifica in entrambe le direzioni, e nessun produttore pubblica una cifra unica valida per tutti i chipset e tutti gli adattatori — quindi non ne stamperemo una. Quello che la documentazione dei produttori stabilisce è il meccanismo e il cambio di profilo qui sopra. Basta per prendere la decisione.
Causa 2 — una frequenza di campionamento che va convertita
Se il gioco esce a 48 kHz e il tuo dispositivo è configurato a 44,1 kHz — o viceversa — il motore ricampiona, il che è lavoro e non è gratis. Windows espone un flag che le applicazioni possono impostare quando "it is important to avoid resampling in the audio engine", il che ti dice che la conversione è abbastanza reale da spingere Microsoft a dare agli sviluppatori un modo per aggirarla.
Cosa fare:
- Fai clic destro sull'icona dell'altoparlante, apri le Impostazioni audio, poi le proprietà del tuo dispositivo di uscita.
- Trova il formato predefinito (di solito sotto Avanzate) e impostalo su 24 bit, 48000 Hz a meno che la documentazione del tuo hardware non dica altro. Giochi e Windows lavorano entrambi a 48 kHz.
- Imposta alla stessa frequenza anche il software di configurazione del tuo headset, se ne ha uno.
- Riproduci qualcosa e verifica che funzioni ancora. Se una certa applicazione si rompe, rimetti l'impostazione com'era — è reversibile e non vale la pena perdere un'applicazione.
Causa 3 — la pila di effetti che non sapevi fosse accesa
Ogni effetto nel percorso è un audio processing object, e le parole di Microsoft stessa sono che la loro latenza varia con l'elaborazione che hanno dentro. Suono spaziale, surround virtuale, "miglioramenti", equalizzazione del volume, l'EQ del produttore dell'headset e una seconda uscita non silenziata aggiungono tutti delle fasi.
L'elaborazione spaziale è quella interessante per chi gioca, perché è uno scambio vero e non un errore: esiste per rendere più facile giudicare la direzione, ed è un'altra fase della catena. Giudicala a orecchio invece che per principio.
Cosa fare:
- Apri le proprietà del tuo dispositivo di uscita e cerca una scheda di miglioramenti o di effetti. Spegni tutto, e ascolta.
- Spegni temporaneamente il suono spaziale e gioca una partita in stereo puro. Se la direzione è peggiorata e i tempi sono migliorati, adesso conosci il tuo compromesso.
- Spegni allo stesso modo l'EQ e la virtualizzazione del software del tuo headset. Uno alla volta.
- Riaccendi solo quello che ti è mancato.
Qui non esiste una risposta giusta, e chiunque ti dica che esiste non ha fatto la prova sulle tue orecchie con il tuo headset.
Causa 4 — la modalità esclusiva: cosa ti dà e cosa ti costa
Un'applicazione può aprire un dispositivo in modalità esclusiva, e Microsoft descrive esattamente cosa significa: "the data bypasses the audio engine and goes directly from the application to the buffer where the driver reads it from. However, if an application opens an endpoint in exclusive mode, then there's no other application that can use that endpoint to render or capture audio."
La pagina sulla modalità esclusiva di Microsoft stessa è ancora più netta: "Exclusive-mode streams seize the audio endpoint—all system sounds, notifications, and audio from other applications are silenced."
Quella pagina porta anche un'avvertenza moderna importante. Da Windows 10, IAudioClient3 permette a uno stream in modalità condivisa di usare periodi molto piccoli, il che "provides latency comparable to exclusive mode while preserving system sound mixing and interoperability" — quindi la modalità esclusiva non è più la vittoria automatica che era nel 2010.
La casella in Windows — Consenti alle applicazioni di assumere il controllo esclusivo del dispositivo — non mette niente in modalità esclusiva. Decide soltanto se un'applicazione che la chiede può ottenerla. Lasciarla attiva non costa niente; disattivarla impedisce alle applicazioni che la vogliono di averla.
Per un gioco in cui ti servono anche la chat vocale, un browser e i suoni di sistema, la modalità esclusiva è di solito lo scambio sbagliato. Dillo ad alta voce prima di metterti a cercarla.
Cosa fa w0a qui, e cosa non fa

Cosa fa. La pagina Tweak Regedit ha esattamente una voce nel suo gruppo SUONO, chiamata Priorità dei thread audio (MMCSS). Imposta a High la Scheduling Category dell'attività Audio dello scheduler multimediale, sotto HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Audio. Tweak audio è la pagina voce per voce.
Sul meccanismo bisogna essere precisi. Alzare una priorità di scheduling non rimpicciolisce il buffer — rende più probabile che il thread audio stia girando quando arriva la sua scadenza. Su una macchina carica questo toglie i buffer in ritardo e i difetti che si portano dietro, e quelli si sentono. Su una macchina scarica non c'è niente da guadagnare.
Cosa non fa. Non cambia la dimensione del tuo buffer — solo l'applicazione può chiederla. Non cambia la tua frequenza di campionamento. Non installa un driver audio. Non tocca il suono spaziale. E non scrive SystemResponsiveness, che compare in ogni elenco di messa a punto audio di internet: sotto 10 il valore si comporta comunque come il predefinito, e su una macchina già impostata a 10 abbiamo misurato che scrivere 0 peggiorava le cose. La pagina Fix può comunque ripararlo al valore predefinito di Windows se uno strumento più vecchio l'ha cambiato.
C'è un interruttore imparentato nella pagina Ottimizzazioni — Tieni il profilo dello scheduler di gioco in categoria Alta (MMCSS Games) — e merita la stessa onestà. Riguarda solo i titoli e le pile audio che registrano davvero un'attività dello scheduler multimediale. I giochi che non ne registrano nessuna non ne risentono, e per questo esatto motivo il prodotto non fa nessuna promessa sul frame rate per quell'interruttore.
Se è la pila audio stessa a essere rotta — audio che si interrompe, un dispositivo sparito, un vecchio strumento che ha lasciato il valore di scheduling in un posto strano — la scheda di riparazione Audio di sistema riavvia i servizi audio e riscrive il valore predefinito di Windows. È una riparazione, non un tweak, e non dipende dal fatto che la modifica l'abbia fatta w0a.
Cosa il software non può fare qui
- Non può far chiedere a un gioco un buffer più piccolo. È una decisione dell'applicazione, dentro il codice dell'applicazione.
- Non può eliminare il tempo di codifica e decodifica di un collegamento wireless.
- Non può impedire a Windows di passare un headset Bluetooth al profilo hands-free quando qualcosa ne apre il microfono — quel comportamento è voluto ed è documentato.
- Non può eliminare la dimensione minima di buffer dichiarata dal driver. Quella è ciò che il tuo hardware sa fare.
Resta un elenco breve e onesto di ciò che è davvero tuo: il trasporto (cavo contro wireless), la frequenza di campionamento, la pila di effetti, e se il thread audio viene schedulato in tempo. Passa in rassegna quei quattro e avrai tolto tutto quello che si può togliere.
Correlati
- Tweak audio
- Audio di sistema
- Bluetooth
- Come ridurre l'input lag: cosa può accorciare un software e cosa no
- Perché la mia mira sembra in ritardo
Delle circa dodici fasi fra un clic e un pixel che cambia, tre sono del software; il resto è del firmware, dello schermo e del gioco: Come ridurre l'input lag: cosa può accorciare un software e cosa no
Questa pagina ti è stata utile?
Cosa mancava, o cosa non ha funzionato? Le leggiamo tutte, una per una.
Se questa pagina non ha risolto il problema, scrivici — dicci quale articolo hai letto, e sistemiamo l'articolo.