OS X: Cos’è il processo WindowServer e cosa significa quando occupa molta CPU?

WindowServer è principalmente un motore di compositing, e gestisce anche le tele.

Una tela è essenzialmente una regione rettangolare che agisce come un frame buffer e fornisce la possibilità di vedere una finestra dell'applicazione.

Oltre a fare questi lavori, gestisce anche le pipeline OpenGL per l'hardware video, che viene poi utilizzato per renderizzare cose come finestre di gioco, video, pubblicità nelle finestre del browser, e così via.

È possibile che prenda molta CPU in questo ruolo perché, a differenza di DirectX in Windows, che emula la GL dopo essersi impegnata in un loop unrolling per assicurare che gli shader non girino all'infinito occupando tempo della CPU, macOS semplicemente infila i dati GL in uno dei canali della pipeline, e li fa renderizzare all'hardware.

A causa di questo, gli shader scritti male possono finire per prendere un sacco di CPU, quando su Windows DirectX, lo srotolamento del ciclo sarebbe semplicemente "fallito" e lasciato cadere a terra senza essere renderizzato.

Alcuni degli shader originali del motore "Unreal" per gli effetti di nebbia avevano questo problema, e alcuni dei World Of Warcraft di Blizzard avevano anche alcuni problemi.

WOW, in particolare, era un problema - ero lì mentre Mike Smith, uno degli ingegneri Apple incaricati di non far bloccare il gioco dopo un po' - scopriva che il problema era che alcuni shader giravano all'infinito, e quando si riempivano tutti i canali GL della scheda nVidia, allora era fatta - il desktop si bloccava.

Questo è un problema minore in questi giorni.

Io suggerirei di salvare tutto ciò che hai in sospeso, e di uccidere tutti i processi "Google Chrome Helper", e vedere se questo aiuta.

Se hai molte finestre aperte con pubblicità o video in corso, Chrome tende a consumare molta, molta memoria.

Ha anche una serie di bug che fanno sì che non "raccolga" i DOM inutilizzati, quindi anche se in teoria non vengono referenziati, rimangono in giro e occupano CPU e memoria comunque.

Qualcuno dovrebbe davvero sedersi e sistemarli.

P.S.: Se tendete a guardare video da siti pirata, potete anche avere molta CPU mangiata da "minatori di monete" scaricati drive-by, che sono anche scritti in GL. Considerate l'installazione di un "miner blocker" come estensione del browser.