Teams 2.x (WebView2) non espone più il toggle per disattivare la GPU: in questa guida trovi metodi pratici, script e avvertenze per forzare il rendering software, ridurre sfarfallii e schermi neri e contenere consumi su PC modesti o driver instabili.
Perché disattivare l’accelerazione hardware in Teams “nuovo”
Con il passaggio a Microsoft Teams (nuovo) v.2.x, basato su WebView2/Edge Chromium, molti utenti hanno notato problemi grafici ricorrenti: sfarfallii, testo sfocato durante la condivisione, finestre che diventano nere, sovraccarico di CPU e GPU durante le riunioni. Nel client “Classic” esisteva un interruttore per Disabilita accelerazione hardware GPU; nella nuova architettura questo comando non è più visibile nell’app. Nel frattempo, il motore grafico continua a tentare l’accelerazione con la GPU, e quando i driver non sono in condizioni ottimali (tipicamente su dispositivi economici, notebook datati, GPU integrate o driver/codec difettosi), l’esperienza peggiora anziché migliorare.
Disattivare la GPU forza Teams a usare il rendering software (SwiftShader/CPU) nel motore Chromium, eliminando molte anomalie video e stabilizzando la condivisione dello schermo. Il rovescio della medaglia è che l’elaborazione passa alla CPU, quindi il consumo di processore può aumentare e gli effetti fluidi/3D risultano meno scorrevoli. Questa guida spiega come forzare l’uso della CPU in modo sicuro e reversibile.
Cosa è cambiato in Teams 2.x
- Architettura: da Electron (Classic) a WebView2. Il rendering è affidato al motore di Microsoft Edge (Chromium) eseguito come controllo WebView2. I vecchi flag di Electron non hanno più effetto.
- Impostazioni: il toggle “Disabilita accelerazione hardware GPU” è stato rimosso dall’interfaccia. Al 17 settembre 2025, Microsoft non ha ancora reintrodotto un interruttore UI dedicato.
- Politiche IT: l’assenza del toggle complica le distribuzioni gestite; servono variabili d’ambiente, criteri di Windows o script/GPO/Intune.
Confronto sintetico dei metodi
Metodo | Funziona su | Supporto Microsoft | Pro | Contro / Avvertenze |
---|---|---|---|---|
Variabile d’ambiente WebView2WEBVIEW2ADDITIONALBROWSER_ARGUMENTS=--disable-gpu | Windows 10/11 con Teams v.2.x | Non ufficiale – può cambiare | Una riga di comando o import .reg; impatta tutte le app WebView2 (Teams, nuovo Outlook, ecc.) | Richiede riavvio app/PC; disattiva GPU anche in altre WebView2 con possibili cali prestazionali video |
Modifica desktop-config.json in %APPDATA%\Microsoft\Teams | Alcuni riportano successo su 2.x, altri solo su Classic | Non ufficiale | Non richiede privilegi amministrativi | Il file viene rigenerato ad aggiornamenti o logout; potrebbe essere ignorato in futuro |
Chiave registro “Avalon.Graphics”HKCU\Software\Microsoft\Avalon.Graphics | Windows 11 (Surface e altri) | Non documentato | Agisce lato stack grafico WPF | Effetto variabile; non tutti vedono miglioramenti |
Impostazione GPU di Windows Impostazioni → Sistema → Grafica → Microsoft Teams → “Risparmio energetico” | Windows 10/11 | Ufficiale (Windows) | Non tocca registro né WebView2 | Riduce il profilo 3D dell’app ma non disattiva davvero la GPU del motore Chromium; risultati limitati |
Disabilitare accelerazione in Microsoft Edge Edge → Settings → System & Performance → “Use graphics acceleration when available” OFF | Indiretto (può propagarsi a WebView2) | Non documentato | Rapido se già si usa Edge | Efficacia non garantita; incide su tutto Edge |
Restare su Teams “Classic” | Qualsiasi Windows | Ufficiale ma client in dismissione | Soluzione stabile finché supportata | Si perdono funzioni nuove; fine supporto prevista |
Soluzione consigliata: variabile d’ambiente WebView2
Il metodo più efficace e ripetibile oggi consiste nel fornire a WebView2 l’argomento Chromium --disable-gpu
tramite la variabile d’ambiente WEBVIEW2ADDITIONALBROWSER_ARGUMENTS
. In questo modo tutte le istanze WebView2 dell’utente (Teams incluso) avviano il processo con la GPU disabilitata.
Nota critica sul nome della variabile
Il nome corretto è WEBVIEW2ADDITIONALBROWSER_ARGUMENTS
(con underscore). Alcuni esempi online riportano WEBVIEW2ADDITIONALBROWSERARGUMENTS
(senza underscore): non usarlo, non è riconosciuto da WebView2.
Passaggi rapidi (per utente corrente)
- Chiudi completamente Teams (menu di sistema → Esci o termina dal Task Manager).
- Apri Prompt dei comandi come amministratore.
- Esegui:
setx WEBVIEW2ADDITIONALBROWSER_ARGUMENTS --disable-gpu
- Riavvia Teams. In caso di dubbio, esegui anche un sign-out e un riavvio di Windows.
Verifica che la variabile sia impostata:
echo %WEBVIEW2ADDITIONALBROWSER_ARGUMENTS%
Dovresti vedere --disable-gpu
.
Rollback
Per annullare:
reg delete "HKCU\Environment" /v WEBVIEW2ADDITIONALBROWSER_ARGUMENTS /f
Se inavvertitamente hai creato anche la variante senza underscore, puoi pulirla con:
reg delete "HKCU\Environment" /v WEBVIEW2ADDITIONALBROWSERARGUMENTS /f
Applicazione per tutti gli utenti del PC (per-macchina)
Preferibile su terminali condivisi, VDI o ambienti aziendali. Richiede privilegi elevati.
setx /M WEBVIEW2ADDITIONALBROWSER_ARGUMENTS --disable-gpu
Questo scrive in HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
. Effetto pieno dopo un riavvio o logoff/logon.
Versione PowerShell (più robusta)
# Per l'utente corrente
New-Item -Path 'HKCU:\Environment' -Force | Out-Null
Set-ItemProperty -Path 'HKCU:\Environment' -Name 'WEBVIEW2ADDITIONALBROWSER_ARGUMENTS' -Value '--disable-gpu'
Per la macchina (tutti gli utenti)
[Environment]: :SetEnvironmentVariable\('WEBVIEW2ADDITIONALBROWSER_ARGUMENTS','--disable-gpu','Machine'\)
Distribuzione in ambienti gestiti (IT)
Group Policy (GPP)
- User Configuration → Preferences → Windows Settings → Environment.
- New → Environment Variable → Action: Update.
- Name:
WEBVIEW2ADDITIONALBROWSER_ARGUMENTS
– Value:--disable-gpu
. - Facoltativo: replica anche su Computer Configuration per applicazione per-macchina.
Microsoft Intune
- Metodo rapido: Script di PowerShell assegnato ai dispositivi/utenti (vedi script sopra). Prevedi restart dell’app.
- Metodo alternativo: Settings Catalog → “Esplora” → imposta la chiave di registro in HKCU/HKLM come preferisci. In mancanza di voce dedicata, usa un Custom OMA-URI o un profilo Device Restrictions con script.
Consiglio operativo: programma un rilascio a scaglioni (pilot → ampia diffusione), monitora l’impatto tramite telemetria (CPU/GPU, tassi di crash) e tieni pronto un criterio di rollback. Poiché si tratta di configurazioni non ufficiali, Microsoft potrebbe cambiarne il comportamento in versioni future di Teams/WebView2.
Alternative quando la variabile non basta
Modifica di desktop-config.json
Il file si trova in genere in %APPDATA%\Microsoft\Teams
. Inserisci o forza:
{
"appPreferenceSettings": {
"disableGpu": true
}
}
Limiti: il file viene riscritto frequentemente (aggiornamenti, logout, riparazioni). Su alcune build 2.x il parametro potrebbe essere ignorato. È utile per test rapidi per utente, meno in produzione.
Chiave registro “Avalon.Graphics” (non documentata)
Alcuni utenti Windows 11 (soprattutto su dispositivi Surface) hanno riscontrato benefici forzando la disattivazione lato WPF:
HKCU\Software\Microsoft\Avalon.Graphics
DisableHWAcceleration (DWORD) = 1
Nota: in alcune segnalazioni circola il valore HWAcceleration
=1. L’impostazione storicamente riconosciuta dalle app WPF è DisableHWAcceleration
=1. L’efficacia su Teams 2.x, che gira in WebView2 (Chromium), è variabile e non garantita; provala solo se la variabile WebView2 non risolve.
Impostazione GPU di Windows
- Vai in Impostazioni → Sistema → Schermo → Grafica.
- Seleziona Microsoft Teams → Opzioni.
- Scegli Risparmio energetico (solitamente GPU integrata/CPU) e salva.
Questa scelta riduce la priorità e l’uso della GPU d’app, ma non impone l’avvio del motore Chromium in modalità software. Risultati spesso modesti.
Disabilitare l’accelerazione in Microsoft Edge
Apri Edge → Settings → System & Performance e disattiva “Use graphics acceleration when available”. In alcuni ambienti questo influenza anche le WebView2, ma l’efficacia non è assicurata. Ricorda che questa opzione impatta l’intero browser.
Restare su Teams “Classic”
È l’opzione più prevedibile (poiché il toggle GPU esiste), ma il client è in dismissione. Considerala solo per casi temporanei e ben isolati.
Come verificare che la GPU sia davvero disattivata
- Variabile presente:
echo %WEBVIEW2ADDITIONALBROWSER_ARGUMENTS%
restituisce--disable-gpu
. - Task Manager (Ctrl+Shift+Esc) → scheda Processi/Dettagli → aggiungi colonne “Motore GPU” e “Video decoding”. Durante una riunione, con GPU disattivata i processi di Teams/WebView2 non dovrebbero mostrare attività di decodifica hardware costante.
- Consumi: osserva CPU/GPU durante una condivisione schermo. Spesso la GPU cala a zero o quasi; la CPU può salire, ma senza gli artefatti grafici che motivavano il cambio.
- Stabilità: assenza di sfarfallii/schermo nero nelle stesse condizioni che prima generavano il problema.
Impatto atteso e compromessi
- Pro: stabilità dell’immagine, scomparsa di flash neri e testo sfocato, condivisione schermo più prevedibile su driver critici.
- Contro: maggiore carico CPU e possibile calo frame-rate nei contenuti video/animazioni; su laptop la batteria può durare meno durante videochiamate lunghe.
- Ambito: essendo una variabile globale, l’impatto copre tutte le app basate su WebView2 (nuovo Outlook, pannelli 365, app line-of-business). Se una di queste beneficia della GPU, valuta eccezioni o scopi per-utente.
Varianti utili dei flag Chromium (solo se sai cosa stai facendo)
La variabile supporta più argomenti separati da spazio. Esempi (da testare con cautela):
--disable-gpu --disable-gpu-compositing
--disable-gpu --use-angle=swiftshader
--disable-gpu --disable-accelerated-2d-canvas
Avvertenza: più flag = più rischio di effetti collaterali. Nella maggioranza dei casi --disable-gpu
è sufficiente.
Playbook consigliato (IT e power user)
- Riproduci il problema con un caso realistico (riunione 720p/1080p, condivisione 2 monitor, finestre con contenuti dinamici).
- Applica
WEBVIEW2ADDITIONALBROWSER_ARGUMENTS=--disable-gpu
a un gruppo pilota (per-utente). - Misura (Task Manager, feedback utenti). Se risolto, valuta rollout più ampio via GPO/Intune.
- Se persistono difetti: aggiungi
--disable-gpu-compositing
o prova la chiave Avalon.Graphics (solo come test). - Documenta rollback e criteri di esclusione (ad es. team di grafica/video editing che usano WebView2 interni).
Script e pacchetti pronti all’uso
File .CMD – abilita/disabilita GPU per WebView2 (utente corrente)
@echo off
setlocal
if /I "%1"=="on" (
reg delete "HKCU\Environment" /v WEBVIEW2ADDITIONALBROWSER_ARGUMENTS /f >nul 2>&1
echo [OK] Accelerazione GPU WebView2 ripristinata (variabile rimossa).
goto :eof
)
if /I "%1"=="off" (
setx WEBVIEW2ADDITIONALBROWSER_ARGUMENTS --disable-gpu
echo [OK] GPU WebView2 disabilitata per l'utente corrente.
goto :eof
)
echo Uso: %~n0 off ^| on
endlocal
File .REG – imposta e rimuove (utente corrente)
Imposta:
Windows Registry Editor Version 5.00
\[HKEY\CURRENT\USER\Environment]
"WEBVIEW2\ADDITIONAL\BROWSER\_ARGUMENTS"="--disable-gpu"
Rimuove:
Windows Registry Editor Version 5.00
\[HKEY\CURRENT\USER\Environment]
"WEBVIEW2\ADDITIONAL\BROWSER\_ARGUMENTS"=-
PowerShell – applicazione per-macchina con notifica
$name = 'WEBVIEW2ADDITIONALBROWSER_ARGUMENTS'
$value = '--disable-gpu'
[Environment]::SetEnvironmentVariable($name, $value, 'Machine')
Suggerito: pianifica un riavvio o invita gli utenti a disconnettersi/riconnettersi
Write-Host "Impostata variabile di sistema $name=$value. Riavviare le app WebView2/Teams."
Domande frequenti
Funziona su macOS o Linux?
No. La variabile WEBVIEW2ADDITIONALBROWSER_ARGUMENTS
riguarda WebView2, tecnologia specifica per Windows. Su macOS/Linux la situazione è diversa; la guida qui è focalizzata su Windows 10/11.
Perché Microsoft ha tolto il toggle?
Con la transizione a WebView2 sono cambiate le responsabilità tra app e motore sottostante. Il team di prodotto ha puntato su auto-ottimizzazioni, ma il toggle non è presente nella UI del nuovo client. Al 17 settembre 2025, la raccomandazione è segnalare i problemi via Feedback Hub/Feedback in Teams e usare soluzioni temporanee come quelle di questa guida.
È rischioso per la sicurezza?
La variabile non riduce la sicurezza del sistema; modifica solo come il motore grafico renderizza. Resta fondamentale mantenere aggiornati Windows, driver e Runtime WebView2/Edge.
Come capisco se impatta altre app?
Qualsiasi app moderna che incorpori WebView2 rispetterà la variabile. Se noti peggioramenti in un’app specifica (ad es. strumenti interni che visualizzano grafici 3D), valuta esclusioni applicando la variabile solo agli utenti/PC interessati.
Perché vedo ancora consumo GPU nel Task Manager?
Alcuni sottoprocessi possono aprire contesti grafici anche con --disable-gpu
, ma le pipeline principali (compositing/decoding) dovrebbero non usare accelerazione. Concentrati sui contatori “Video decoding” e “3D” durante la riproduzione/condivisione.
Strategia di supporto e manutenzione
- Tracciamento: registra versione di Teams, WebView2 Runtime, Edge e driver GPU. Gli esiti possono cambiare tra build.
- Pilot e canary: mantieni un gruppo ristretto su canali di anteprima per intercettare regressioni del flag.
- Documentazione interna: conserva procedure di aggiornamento, rollback e note su dispositivi sensibili (es. modelli Surface con driver specifici).
Conclusioni
Fino a quando il client nuovo di Teams non offrirà un toggle ufficiale, la variabile d’ambiente WebView2 rappresenta la via più efficace, semplice e distribuibile per disattivare l’accelerazione GPU e stabilizzare l’esperienza su hardware/driver problematici. Adotta un approccio misurato: prova, misura, rilascia, e mantieni un piano di ritorno. Le alternative (file JSON, chiave Avalon.Graphics, impostazioni di Windows/Edge) possono aiutare in scenari specifici, ma non offrono la stessa consistenza su Teams 2.x.
Appendice: checklist operativa
- ✅ Conferma che l’utente è sul client “nuovo” (v.2.x) e che il problema è riproducibile.
- ✅ Applica
WEBVIEW2ADDITIONALBROWSER_ARGUMENTS=--disable-gpu
(per-utente). - ✅ Riavvia Teams (meglio con logoff/logon).
- ✅ Verifica con una riunione di prova (condivisione, cambio finestre, video).
- ✅ Monitora CPU/GPU nel Task Manager e raccogli feedback.
- ✅ Se ok, pianifica rollout via GPO/Intune. Se no, valuta le alternative.
- ✅ Documenta la versione dei driver e del Runtime WebView2.
Appendice: esempi di esclusioni
Se alcune app WebView2 necessitano della GPU, considera questi approcci:
- Target per-utente: applica la variabile solo agli account che usano intensivamente Teams.
- PC dedicati: usa l’impostazione per-macchina solo su dispositivi con problemi noti.
- Script di “toggle”: fornisci un comando rapido agli utenti avanzati per abilitare/disabilitare secondo necessità.
Riepilogo rapido dei comandi
:: Disattiva GPU (utente corrente)
setx WEBVIEW2ADDITIONALBROWSER_ARGUMENTS --disable-gpu
\:: Verifica
echo %WEBVIEW2\ADDITIONAL\BROWSER\_ARGUMENTS%
\:: Rollback (utente corrente)
reg delete "HKCU\Environment" /v WEBVIEW2\ADDITIONAL\BROWSER\_ARGUMENTS /f
\:: Disattiva GPU (tutti gli utenti)
setx /M WEBVIEW2\ADDITIONAL\BROWSER\_ARGUMENTS --disable-gpu
Stato al 17 settembre 2025: Microsoft riconosce i casi di prestazioni/visualizzazione nel nuovo Teams ma non fornisce un toggle grafico integrato; incoraggia a inviare Feedback. Le soluzioni qui descritte sono tecniche e non ufficiali: testare prima su un gruppo pilota e mantenere aggiornati Edge/WebView2 Runtime.