Disattivare l’accelerazione GPU in Microsoft Teams (nuovo 2.x, WebView2): metodi, script e best practice

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.

Indice

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

MetodoFunziona suSupporto MicrosoftProContro / Avvertenze
Variabile d’ambiente WebView2
WEBVIEW2ADDITIONALBROWSER_ARGUMENTS=--disable-gpu
Windows 10/11 con Teams v.2.xNon ufficiale – può cambiareUna 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 ClassicNon ufficialeNon richiede privilegi amministrativiIl 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 documentatoAgisce lato stack grafico WPFEffetto variabile; non tutti vedono miglioramenti
Impostazione GPU di Windows
Impostazioni → Sistema → Grafica → Microsoft Teams → “Risparmio energetico”
Windows 10/11Ufficiale (Windows)Non tocca registro né WebView2Riduce 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 documentatoRapido se già si usa EdgeEfficacia non garantita; incide su tutto Edge
Restare su Teams “Classic”Qualsiasi WindowsUfficiale ma client in dismissioneSoluzione stabile finché supportataSi 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)

  1. Chiudi completamente Teams (menu di sistema → Esci o termina dal Task Manager).
  2. Apri Prompt dei comandi come amministratore.
  3. Esegui: setx WEBVIEW2ADDITIONALBROWSER_ARGUMENTS --disable-gpu
  4. 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)

  1. User ConfigurationPreferencesWindows SettingsEnvironment.
  2. NewEnvironment VariableAction: Update.
  3. Name: WEBVIEW2ADDITIONALBROWSER_ARGUMENTSValue: --disable-gpu.
  4. 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

  1. Vai in Impostazioni → Sistema → Schermo → Grafica.
  2. Seleziona Microsoft TeamsOpzioni.
  3. 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)

  1. Riproduci il problema con un caso realistico (riunione 720p/1080p, condivisione 2 monitor, finestre con contenuti dinamici).
  2. Applica WEBVIEW2ADDITIONALBROWSER_ARGUMENTS=--disable-gpu a un gruppo pilota (per-utente).
  3. Misura (Task Manager, feedback utenti). Se risolto, valuta rollout più ampio via GPO/Intune.
  4. Se persistono difetti: aggiungi --disable-gpu-compositing o prova la chiave Avalon.Graphics (solo come test).
  5. 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.


Indice