WindowServer es principalmente un motor de composición, y también gestiona lienzos.
Un lienzo es esencialmente una región rectangular que actúa como un buffer de marco de revestimiento y proporciona su capacidad para ver una ventana de la aplicación.
Además de hacer estos trabajos, también gestiona los conductos OpenGL al hardware de vídeo, que luego se utiliza para renderizar cosas como ventanas de juegos, vídeo, anuncios en las ventanas del navegador, etc.
Es posible que tome una gran cantidad de CPU en este papel porque, a diferencia de DirectX en Windows, que emuló la GL después de participar en el desenrollado de bucle para asegurar que los sombreadores no se ejecutarán eternamente ocupando el tiempo de la CPU, macOS sólo rellena los datos de la GL en uno de los canales de la tubería, y tiene el hardware de renderizarlo.
Debido a esto, los shaders mal escritos pueden acabar consumiendo mucha CPU, cuando en Windows DirectX, el loop unroll simplemente habría «fallado» y se habría tirado al suelo sin ser renderizado.
Algunos de los shaders originales del motor «Unreal» para efectos de niebla tenían este problema, y algunos de los de World Of Warcraft de Blizzard también tenían algunos problemas.
WOW, en particular, era un problema – yo estaba allí mientras Mike Smith, uno de los ingenieros de Apple encargado de hacer que el juego no se colgara después de un tiempo – descubrió que el problema era que algunos shaders simplemente se ejecutaban para siempre, y cuando llenabas todos los canales GL de la tarjeta nVidia, entonces eso era todo – el escritorio se bloqueaba.
Esto es menos problemático hoy en día.
Sugeriría guardar todo lo que tengas pendiente, y matar todos tus procesos de «Google Chrome Helper», y ver si eso ayuda.
Si tienes muchas ventanas abiertas con publicidad o vídeo en ellas, Chrome tiende a comer mucha, mucha memoria.
También tiene una serie de bugs que hacen que no «coseche» los DOMs no utilizados, por lo que aunque en teoría no estén siendo referenciados, se quedarán colgados y ocuparán CPU y memoria de todos modos.
Alguien debería sentarse y arreglar esto.
P.S.: Si tiendes a ver vídeos de sitios piratas, también puedes tener un montón de CPU consumida por los «mineros de monedas» descargados drive-by, que también están escritos en GL. Considere la posibilidad de instalar un «bloqueador de mineros» como una extensión del navegador.