Desktop Window Manager e GPU alta: cause e soluzioni
Gestione finestre desktop (Desktop Window Manager, dwm.exe) usa GPU, CPU e memoria perché disegna ogni finestra visibile in un'unica immagine del desktop, quindi il suo carico sale e scende con ciò che è sullo schermo: frequenza di aggiornamento, numero di schermi, HDR, effetti visivi e soprattutto le app che si ridisegnano di continuo. Un uso elevato della GPU da parte di DWM è di solito il sintomo di un'altra app o di un'impostazione dello schermo, non un difetto di DWM stesso, e la soluzione è capire cosa lo sta alimentando.
Non puoi disattivare DWM e terminarlo da Gestione attività non serve. Il lavoro utile è misurarlo rispetto alla tua configurazione, cambiare una cosa alla volta e tenere aggiornato il driver grafico.
Cosa fa Gestione finestre desktop
La panoramica di Desktop Window Manager di Microsoft descrive il modello: le finestre non disegnano più direttamente sullo schermo. Ogni app disegna in una superficie fuori schermo nella memoria video e DWM compone queste superfici nell'immagine del desktop che arriva allo schermo. Microsoft elenca effetti visivi, cornici delle finestre, animazioni di transizione e supporto per le alte risoluzioni tra le cose rese possibili dalla composizione.
Ecco perché DWM è permanente. La documentazione di DwmEnableComposition dice che la funzione è deprecata da Windows 8 e che DWM non può più essere disattivato a livello di programmazione; una chiamata che chiede di disattivare la composizione non ha alcun effetto. Su Windows 10 e Windows 11 non esiste un desktop supportato senza di esso.
Terminare dwm.exe da Gestione attività non elimina le app e le impostazioni che hanno causato il carico, quindi tornano gli stessi numeri. Un valore d'uso che sembra la fame di DWM è in realtà il costo di comporre ciò che stanno disegnando tutti gli altri.
Perché GPU, CPU e memoria salgono
La composizione costa di più quando ci sono più pixel, più fotogrammi o più superfici da combinare. Le cause più comuni:
- Frequenza di aggiornamento alta. A 144 Hz DWM compone fino a 144 fotogrammi al secondo invece di 60. Tutto ciò che cambia sullo schermo in quel tempo va ricomposto a quel ritmo.
- Più schermi, o ridimensionamenti diversi. Ogni schermo è un'uscita a sé, e il pannello di un portatile al 150% accanto a un monitor esterno al 100% significa che le finestre vengono ridimensionate quando passano dall'uno all'altro. Un monitor esterno ad alta risoluzione aggiunge un gran numero di pixel a ogni fotogramma.
- HDR. La pagina sulle impostazioni HDR di Microsoft dice che riprodurre contenuti HDR a batteria può ridurre l'autonomia, ed è per questo che i portatili spengono l'HDR automaticamente quando vengono scollegati. Su un desktop resta attivo, ed è una variabile in più da provare.
- Effetti di trasparenza e animazione. La sfocatura acrilica dietro Start, la barra delle applicazioni e alcune finestre va ricalcolata quando cambia ciò che c'è dietro.
- App che si ridisegnano di continuo. Un browser che riproduce un video, un gioco in modalità finestra o finestra senza bordi, un registratore dello schermo o uno strumento di streaming, un overlay di gioco o di chat, uno sfondo animato o un monitor hardware che si aggiorna a ogni fotogramma passano tutti a DWM contenuti nuovi in continuazione. È la causa più frequente, ed è per questo che DWM sembra spesso impegnato mentre "non stai facendo niente", con un video in pausa in una scheda in background o un overlay ancora attivo.
- Driver grafici. Il lavoro di DWM passa per il driver della GPU, quindi un bug del driver si presenta sotto il nome di DWM. Intel ha documentato un caso in un articolo di supporto: la crescita della memoria di dwm.exe sui processori Intel dalla 6ª alla 10ª generazione con i driver per Windows 10 27.20.100.8587 o successivi, che parte da circa 30 MB e si accumula fino a poter mandare in crash il sistema. La soluzione di Intel è il driver Windows DCH 30.0.101.1191 o successivo, dopo un'installazione pulita del driver se Windows Update ne aveva installato un altro. Se hai un driver Intel vecchio e la memoria di DWM non fa che crescere, controlla prima questo.
La memoria di DWM include le superfici che compone. Più finestre, schermi più grandi e ridimensionamento più alto significano più superfici, quindi una configurazione con più monitor usa sensibilmente più memoria del solo pannello di un portatile. Una crescita costante per ore con le stesse finestre aperte, invece, non è normale.
Misuralo prima in Gestione attività
Premi Ctrl + Shift + Esc. Nella scheda Processi trova Gestione finestre desktop. Se manca la colonna GPU, fai clic con il pulsante destro su un'intestazione di colonna e attiva GPU e Motore GPU.
Leggi le due colonne insieme. L'articolo di Microsoft sulla GPU in Gestione attività spiega che il valore GPU di un processo è l'utilizzo del suo motore più impegnato su tutte le GPU, e la colonna Motore GPU ti dice quale GPU e quale motore, per esempio GPU 0 - 3D. Due processi possono mostrare entrambi valori alti usando motori diversi, quindi un'app video sul motore Video Decode e DWM sul 3D non si contendono la stessa risorsa.
Nella scheda Prestazioni seleziona ogni GPU nel pannello di sinistra per vedere i suoi motori e la memoria dedicata e condivisa nel tempo. Nella scheda Dettagli fai clic con il pulsante destro sull'intestazione, scegli Seleziona colonne e aggiungi l'utilizzo della GPU o la memoria GPU dedicata e condivisa per dwm.exe. Lo stesso articolo avverte che la memoria condivisa può essere conteggiata sotto più processi, quindi i totali per processo possono superare ciò che la GPU usa davvero. Le colonne GPU richiedono un driver WDDM 2.0 o successivo.
Annota tre cose prima di cambiare qualsiasi cosa: quale motore usa DWM, se il valore segue quello che stai facendo e se la memoria è stabile o in crescita.
Isola la causa un cambiamento alla volta
Cambia una cosa, osserva DWM per un minuto, poi annulla se non si è mosso nulla.
- Chiudi le app una alla volta. Parti da ciò che si anima: video nel browser, giochi, software di registrazione o streaming, overlay dei launcher di gioco, app di chat e utility della GPU, sfondi animati. Ridurre a icona non sempre basta, perché alcune app continuano a presentare fotogrammi in background. Se DWM scende quando chiudi un'app, la causa è quella, e le sue impostazioni (accelerazione hardware, limitatore di fotogrammi, overlay) sono il posto dove guardare.
- Scollega uno schermo. Se DWM si calma con un monitor scollegato, il carico viene dalla risoluzione in più, dalla frequenza di aggiornamento o dai ridimensionamenti diversi. Ricollegalo dopo; è una prova, non una soluzione.
- Abbassa la frequenza di aggiornamento. La guida di Microsoft sulla frequenza di aggiornamento usa Impostazioni › Sistema › Schermo › Impostazioni schermo avanzate › Scegli una frequenza di aggiornamento. Una frequenza contrassegnata da un asterisco cambia anche la risoluzione. Sugli schermi che la supportano, la stessa pagina offre la Frequenza di aggiornamento dinamica, che alza la frequenza solo quando serve; Microsoft fa notare che una frequenza più bassa fa risparmiare batteria. Torna indietro per confrontare.
- Disattiva trasparenza e animazioni. I passaggi di Microsoft per gli effetti visivi portano a Impostazioni › Accessibilità › Effetti visivi, dove puoi disattivare Effetti di trasparenza ed Effetti di animazione. Le superfici diventano opache e le finestre smettono di animarsi. Entrambe le opzioni si riattivano allo stesso modo.
- Disattiva l'HDR per una prova. In Impostazioni › Sistema › Schermo seleziona in alto lo schermo HDR se ne hai più di uno, disattiva l'HDR e confronta.
Impostazioni grafiche da controllare
Windows ha due opzioni grafiche che cambiano il modo in cui i fotogrammi arrivano a DWM. Si trovano entrambe in Impostazioni › Sistema › Schermo › Grafica.
Ottimizzazioni per i giochi in finestra. La pagina di Microsoft sui giochi in finestra dice che questa opzione, in Impostazioni predefinite, sposta i giochi DirectX 10 e DirectX 11 compatibili in modalità finestra e finestra senza bordi dal vecchio modello di presentazione blt al modello flip, riducendo la latenza dei fotogrammi. Se DWM è impegnato mentre gira un gioco del genere, prova ad attivarla e riavvia il gioco. Passare il gioco a schermo intero esclusivo, se lo offre, è un altro confronto possibile.
Pianificazione GPU con accelerazione hardware. Il team DirectX di Microsoft spiega che questa opzione sposta gran parte del lavoro di pianificazione della GPU da Windows alla GPU stessa, e che compare nelle impostazioni Grafica solo quando sia la GPU sia il suo driver WDDM 2.7 o successivo la supportano. Non riduce ciò che DWM compone, quindi trattala come un test A/B: cambiala, riavvia quando Windows lo chiede, ripeti lo stesso lavoro e tieni lo stato che si comporta meglio sul tuo hardware.
Aggiorna o ripristina il driver grafico
La guida ai driver di Microsoft consiglia prima Windows Update e, se scarichi un driver, di farlo solo dal sito ufficiale del produttore. Per la grafica significa la pagina di supporto del produttore del PC (i portatili usano spesso driver personalizzati) oppure direttamente Intel, AMD o NVIDIA. In Gestione dispositivi espandi Schede video per vedere quali GPU hai.
Se i problemi di DWM sono iniziati subito dopo un aggiornamento del driver, torna indietro: in Gestione dispositivi fai clic con il pulsante destro sulla scheda video, scegli Proprietà, apri la scheda Driver e seleziona Ripristina driver, poi riavvia se richiesto.
Quando lo schermo scatta, diventa nero o si blocca ma Windows risponde ancora, premi Win + Ctrl + Shift + B. L'elenco delle scelte rapide da tastiera di Microsoft lo descrive come il modo per riattivare il dispositivo quando lo schermo è vuoto o nero. Serve per uno schermo bloccato, non per correggere un driver che continua a perdere memoria.
Cosa non fare
- Non terminare
dwm.exe. È la parte di Windows che disegna il desktop, e la causa del suo carico è altrove. - Non provare a disattivare DWM tramite Servizi, il Registro di sistema, script di "debloat" o strumenti che promettono di spegnere la composizione. Da Windows 8 non si può disattivare; nel migliore dei casi questi ritocchi non fanno nulla, nel peggiore lasciano il desktop in uno stato difficile da recuperare.
- Non rinominare né sostituire file di sistema come
dwm.exeodwmcore.dll. - Non applicare modifiche al Registro di sistema prese dai forum per la priorità o la pianificazione della GPU. Usa le opzioni in Impostazioni, che puoi riportare come prima.
- Non usare un programma di pulizia dei driver scaricato da un sito sconosciuto. Se un produttore chiede un'installazione pulita, come fa l'articolo di Intel, segui le istruzioni di quel produttore.
Dove si inserisce Mole
Mole for Windows non modifica le impostazioni di schermo, HDR, grafica o driver e non tocca DWM. La sua pagina Stato mostra l'attività di CPU, memoria, disco e rete, più un riquadro GPU con l'utilizzo del motore più impegnato nel tempo, la memoria video quando il driver la riporta e la temperatura della GPU con i driver che la espongono. L'elenco dei processi mostra CPU e memoria di ogni app, raggruppate per app di appartenenza; non ha una colonna GPU per processo, quindi usa le colonne GPU e Motore GPU di Gestione attività per vedere quale processo sta impegnando la GPU. La sezione Stato della guida copre il resto.
Un metodo utile: tieni d'occhio il riquadro GPU di Mole mentre chiudi le app una per una, e il calo ti dice quale app stava alimentando DWM. Se invece sale la CPU, leggi Uso elevato della CPU su Windows; per la memoria, Uso elevato della memoria su Windows; e se il portatile scalda anche, Surriscaldamento del portatile Windows.
Domande frequenti
dwm.exe è un virus?
Il vero Gestione finestre desktop fa parte di Windows e compone ogni finestra che vedi. Un uso elevato riflette ciò che stanno disegnando le altre app, non un malware.
Posso disattivare Gestione finestre desktop?
No. Da Windows 8 la composizione di DWM non si può disattivare, e terminare il processo fa solo sì che Windows lo riavvii. Riduci il suo carico trovando l'app o l'impostazione dello schermo che lo tiene occupato.
Perché Gestione finestre desktop usa molta GPU quando non c'è niente di aperto?
Di solito qualcosa sta ancora disegnando: una scheda con un video in pausa, un overlay, uno sfondo animato o un widget di monitoraggio. Una frequenza di aggiornamento alta o più schermi alzano il livello di base. Chiudili uno alla volta e guarda la colonna GPU.
Perché la memoria di dwm.exe continua a crescere?
Una certa crescita con più finestre e schermi è normale. Una memoria che sale per ore con le stesse finestre aperte indica un problema del driver; Intel ha documentato una perdita di questo tipo in dwm.exe e l'ha corretta nel driver 30.0.101.1191.