Risolvere l’uso elevato di CPU di WindowServer sul Mac
WindowServer è il compositore di visualizzazione di macOS. Il suo uso di CPU riflette il lavoro necessario per combinare le superfici delle app su ogni display, ma il nome del processo non rivela quale app stia causando ridisegni ripetuti. Un valore alto durante un’animazione, una condivisione dello schermo o un cambio di display può essere normale. Il segnale utile è un carico sostenuto a riposo più un effetto misurabile su reattività, calore o autonomia della batteria.
Cosa è davvero WindowServer
WindowServer combina il contenuto disegnato dalle app nell’immagine su ogni display. Finestre, menu, Dock, trasparenza, animazioni e uscita dei display esterni passano tutti da lì. Parte del carico grafico di un’app può quindi apparire sotto WindowServer anziché sotto l’app stessa. Una lettura alta da sola non identifica la fonte. Forzare l’uscita di WindowServer è quindi il primo passo sbagliato: macOS lo riavvia, tutto si ridisegna e ancora non sai quale superficie continuasse a inviare fotogrammi.
Cosa lo fa salire
Alcune cose fanno lavorare di più WindowServer:
- Molte finestre e Spaces. Decine di finestre aperte e tanti desktop virtuali vanno tracciati e compositati. Gli Spaces di Mission Control moltiplicano il numero di superfici, soprattutto se I display hanno Spaces separati è attivo.
- Display esterni e ad alta risoluzione. Più pixel da spingere, soprattutto un 4K o 5K, o più monitor insieme, alzano in modo stabile la baseline. In modalità clamshell (coperchio chiuso) ogni pannello collegato viene comunque compositato.
- Risoluzione in scala. Far girare un display a una risoluzione «appare come» non nativa può richiedere una superficie di rendering più grande e poi un downsampling. Il costo dipende da Mac, display, modalità di scala e carico; la scala Retina in sé è normale.
- Trasparenza e movimento. Sfocatura e traslucenza di menu, Dock e Centro di Controllo sono effetti live che WindowServer calcola in continuo. Effetti UI di sistema più pesanti sulle versioni recenti di macOS possono rendere la stessa scena più costosa di prima.
- Browser e altre app Electron. Schede e finestre con animazione, video, WebGL o dashboard vivaci continuano a inviare fotogrammi anche quando non le guardi. Chrome, Edge, Brave, Arc, Slack, Discord, VS Code e simili compaiono spesso nei report degli utenti perché il loro lavoro di composizione GPU finisce comunque in WindowServer.
- Un’app ricca di finestre che ridisegna di continuo, ad esempio un terminale che stampa in fretta, una barra di stato che si aggiorna ogni secondo, o una pagina che anima in background.
- Software di cattura e display remoto. Registrazione schermo, videochiamate, AirPlay, Sidecar, Continuity Camera, desktop remoto e strumenti di display virtuale aggiungono lavoro di cattura o composizione.
- Alte frequenze di aggiornamento e desktop animati. Più fotogrammi o pixel che cambiano di continuo (sfondo dinamico, thrash di Stage Manager, widget live) aumentano il lavoro anche senza toccare una finestra.
- Monitor di risorse live. Una finestra del Monitoraggio attività sempre aperta, grafici CPU nella barra dei menu, o strumenti che forzano aggiornamenti UI frequenti possono tenere occupato il compositore. Se anche
sysmondè alto, chiudi brevemente il monitor e ricontrolla WindowServer.
I driver GPU dedicati obsoleti sono una storia comune su Windows. Sui Mac Apple silicon lo stack GPU arriva con macOS, quindi «aggiornare il driver GPU» raramente è la strada. Preferisci tenere aggiornati macOS e le app sospette.
Quando un CPU alto di WindowServer è normale
Aspettati picchi brevi quando:
- apri o ridimensioni molte finestre, cambi Spaces o colleghi un display
- riproduci video a schermo intero, esegui un gioco o scorri una timeline
- condividi o registri lo schermo
- animi in primo piano una pagina ricca di UI
Quegli scoppi dovrebbero calare una volta che la scena si stabilizza. Tratta WindowServer come un problema se resta elevato su un desktop quieto, se il cursore scatta mentre digiti, o se ventole e consumo batteria seguono il compositore senza una fonte di ridisegno evidente.
Diagnosticarlo nel Monitoraggio attività
Raccogli una baseline prima di cambiare impostazioni:
- Apri Monitoraggio attività (Applicazioni › Utility), scegli la scheda CPU e cerca
WindowServer. - Annota la percentuale su un desktop quieto per uno o due minuti: poche finestre visibili, nessuna condivisione schermo, nessun video, schede del browser inattive o scartate.
- Riproduci una volta il rallentamento (apri la finestra pesante del browser, avvia la cattura o sveglia il display esterno) e osserva se WindowServer sale con quel cambiamento.
- Ordina per CPU e dai un’occhiata agli helper del browser, alle app di meeting, agli strumenti di cattura schermo e a tutto ciò che suona come un display virtuale. L’app in cima è sospetta; WindowServer è spesso il conto del suo disegno.
- Opzionale: in Terminale,
top -o cpuper trenta secondi dà la stessa classifica senza tenere aperta la finestra del Monitoraggio attività.
Giudica WindowServer dal sintomo: input più fluido, meno calore o migliore autonomia. Una percentuale più bassa senza miglioramento visibile o termico non è una correzione utile.
Come calmarlo (dal lieve al forte)
Parti dai guadagni economici. Cambia una variabile, aspetta e tieni la modifica solo se metrica e sensazione migliorano entrambe.
- Chiudi finestre, schede e Spaces inutilizzati. Unisci le finestre del browser, scarta le schede inattive (Memory Saver di Chrome/Edge o il task manager del browser) e rimuovi gli Spaces che non usi. Di solito è il taglio più grande quando un browser è aperto.
- Riduci trasparenza: apri Impostazioni di Sistema › Accessibilità › Display, poi attiva Riduci trasparenza. La guida Display di Apple descrive il cambiamento visivo. Tieni macOS aggiornato; in alcune build intermedie questo interruttore faceva poco finché non arrivava una patch successiva. Confronta la stessa scena prima di tenerlo come correzione di prestazioni.
- Riduci movimento: ora ha un pannello dedicato in Accessibilità › Movimento. La guida Movimento di Apple dice che cambia le animazioni per azioni come aprire app e cambiare desktop.
- Metti in pausa cattura e display remoto. Ferma la registrazione schermo, lascia spenta fotocamera/condivisione della riunione, scollega Sidecar o AirPlay e chiudi gli strumenti di display virtuale uno alla volta.
- Semplifica il desktop. Passa da sfondo animato o dinamico a un’immagine fissa; nascondi o chiudi widget live e overlay HUD sempre attivi che ridisegnano la barra dei menu.
- Prova scala del display e frequenza di aggiornamento. Preferisci la dimensione «appare come» predefinita, o una frequenza più bassa su un pannello esterno, poi confronta lo stesso carico. Non sacrificare testo leggibile solo sull’assunzione che ogni scala sia cattiva.
- Scollega un display come diagnostica. Se la baseline scende, testa separatamente scala, frequenza, cavo e adattatore di quel display. Su setup multi-monitor, prova a disattivare I display hanno Spaces separati in Desktop e Dock › Mission Control per ridurre i contesti di composizione indipendenti.
- Aggiorna macOS e le app pesanti, poi ritesta la stessa scena a riposo. I bug di compositore e GPU del browser finiscono spesso in point release ordinarie.
- Esci e rientra solo dopo aver raccolto prove; questo riavvia la sessione di visualizzazione dell’utente. Un riavvio completo cancella lo stato di ridisegno perso ma può nascondere l’app che lo farà tornare, quindi usalo dopo aver capito lo schema, non al posto dell’isolamento.
Cosa non aiuta
- Non forzare l’uscita di WindowServer. Tutto sullo schermo si ridisegna in una volta, la CPU sale di nuovo e non impari nulla sul responsabile.
- Non aspettarti che un’app «cleaner» o «boost» generica sistemi il carico del compositore. Chiudere finestre, tagliare effetti e fermare la cattura sono le leve vere.
- Non trattare una scala Retina ordinaria come un guasto. Misura la modalità in scala che usi davvero contro quella predefinita sullo stesso Mac e cavo.
Sotto il cofano: il compositore e perché la scala costa
WindowServer è un compositore. Ogni app disegna nel proprio buffer offscreen, un backing store, e WindowServer combina quei buffer nell’immagine finale per ogni display, applicando trasformazioni ed effetti. La composizione gira quando la scena cambia, quindi ridisegni costanti e cattura possono costare CPU o GPU in continuo. Alcune modalità in scala usano una superficie intermedia più grande e poi la riducono, ma è solo un possibile contributo. Conteggio pixel, frequenza di aggiornamento, numero di display e frequenza di ridisegno vanno testati in modo indipendente.
Dove aiuta un monitor
Il Monitoraggio attività o la vista Stato di Mole possono mostrare andamenti di WindowServer, CPU e GPU, ma nessuno dei due può assegnare automaticamente il costo di composizione a un’app. Il metodo affidabile è l’isolamento controllato: ferma una fonte di ridisegno o cambia una variabile di display, poi confronta le baseline a riposo e sotto carico.
Una diagnosi ripetibile
Misura WindowServer a riposo e durante il problema, poi isola uno alla volta contenuti animati, browser, strumenti di cattura, display, scala e frequenza di aggiornamento. Tieni la modifica solo se migliorano sia la metrica sia il sintomo visibile. Non forzare l’uscita di WindowServer e non trattare una scala Retina ordinaria come un guasto.
Domande frequenti
L’uso elevato di CPU di WindowServer è pericoloso?
Può alzare calore, rumore delle ventole e consumo batteria, e rendere l’interfaccia appiccicosa, ma non è malware e non danneggia il Mac da solo. Correggi la fonte di ridisegno; non tentare di eliminare o disabilitare il processo.
Perché WindowServer è alto quando Chrome sembra a posto?
Il lavoro del browser finisce spesso in WindowServer perché il browser invia superfici da compositare. Schede in background con animazione o video possono continuare a alimentare fotogrammi anche se le percentuali degli helper di Chrome sembrano modeste. Sospendi o chiudi quelle schede, poi ricontrolla.
Dovrei ridurre la trasparenza su Apple silicon?
Provalo come test controllato. Molti Mac della serie M riducono ancora il lavoro di composizione quando trasparenza e movimento calano, soprattutto con più display o finestre del browser. Tieni l’impostazione solo se la stessa scena a riposo si sente meglio dopo.
Un riavvio sistema WindowServer in modo permanente?
Un riavvio cancella lo stato di ridisegno temporaneo e spesso aiuta per un po’. Se la stessa finestra del browser, lo stesso strumento di cattura o la stessa configurazione di display riporta il carico, la configurazione è la causa. Correggi quella, poi riavvia solo se la sessione è già in cattivo stato.