Hoge CPU door WindowServer: beeldschermen, opname, schaling
WindowServer is de beeldcompositor van macOS. Het CPU-gebruik weerspiegelt het werk dat nodig is om app-oppervlakken over beeldschermen te combineren, maar de procesnaam onthult niet welke app herhaalde hertekeningen veroorzaakt. Een hoog getal tijdens animatie, scherm delen of een beeldschermwisseling kan normaal zijn. Het nuttige signaal is aanhoudende belasting in rust plus een meetbaar effect op reactiesnelheid, warmte of batterijduur.
Wat WindowServer echt is
WindowServer combineert de inhoud die apps tekenen tot het beeld op elk beeldscherm. Vensters, menu's, het Dock, doorzichtigheid, animaties en uitvoer naar een extern beeldscherm gaan er allemaal doorheen. Een deel van de grafische belasting van een app kan daarom onder WindowServer verschijnen in plaats van onder de app zelf. Een hoge meting wijst op zichzelf niet de bron van dat werk aan. Daarom is WindowServer killen de verkeerde eerste stap: macOS start het opnieuw, alles wordt opnieuw getekend, en je weet nog steeds niet welk oppervlak het bleef voeden.
Wat het opdrijft
Een handvol dingen laat WindowServer harder werken:
- Veel vensters en Spaces. Tientallen open vensters en een stapel virtuele bureaubladen moeten allemaal worden gevolgd en samengesteld. Spaces van Mission Control vermenigvuldigen het aantal oppervlakken, vooral wanneer Beeldschermen hebben aparte spaces aan staat.
- Externe en hoge-resolutiebeeldschermen. Meer pixels om te duwen, vooral een 4K- of 5K-scherm, of meerdere monitoren tegelijk, verhoogt de basis gestaag. Opstellingen met de klep dicht stellen nog steeds elk aangesloten paneel samen.
- Geschaalde resolutie. Een beeldscherm op een niet-native resolutie "ziet eruit als" kan een groter tekenoppervlak en downsampling vragen. De kosten hangen af van de Mac, het beeldscherm, de schaalmodus en de belasting. Retina-schaling zelf is normaal.
- Doorzichtigheid en beweging. De vervaging en doorschijnendheid in menu's, het Dock en het Bedieningspaneel zijn live effecten die WindowServer continu berekent. Zwaardere systeeminterface-effecten in recente macOS-versies kunnen dezelfde scène meer laten kosten dan op eerdere versies.
- Browsers en andere Electron-apps. Tabbladen en vensters met animatie, video, WebGL of levendige dashboards blijven frames indienen, ook wanneer je er niet naar kijkt. Chrome, Edge, Brave, Arc, Slack, Discord, VS Code en vergelijkbare apps komen vaak voor in gebruikersmeldingen, omdat hun GPU-compositiewerk toch in WindowServer belandt.
- Een app met veel vensters die constant opnieuw tekent, zoals een terminal die snel print, een statusbalk die elke seconde ververst, of een pagina die op de achtergrond animeert.
- Opname- en software voor beeldschermen op afstand. Schermopname, videogesprekken, AirPlay, Sidecar, Continuïteitscamera, extern bureaublad en tools voor virtuele beeldschermen voegen opname- of compositiewerk toe.
- Hoge verversingssnelheden en geanimeerde bureaubladen. Meer frames of continu veranderende pixels (dynamische bureaubladachtergrond, gedraai van Stage Manager, live widgets) verhogen het werk, ook wanneer je geen venster aanraakt.
- Live bronmonitors. Een altijd open venster van Activiteitenweergave, CPU-grafieken in de menubalk, of tools die frequente interface-updates afdwingen, kunnen de compositor zelf bezig houden. Als je ook
sysmondhoog ziet, sluit de monitor dan kort en meet WindowServer opnieuw.
Verouderde stuurprogramma's voor een losse GPU zijn een bekend Windows-verhaal. Op Macs met Apple silicon komt de GPU-stack met macOS mee, dus "werk het GPU-stuurprogramma bij" is zelden het pad. Houd liever macOS en de apps die het veroorzaken actueel.
Wanneer hoge CPU van WindowServer normaal is
Verwacht korte pieken wanneer je:
- veel vensters opent of vergroot, van Spaces wisselt, of een beeldscherm aansluit
- video op volledig scherm afspeelt, een game draait, of een tijdlijn schrobt
- het scherm deelt of opneemt
- een pagina met een zware interface op de voorgrond animeert
Die pieken horen terug te vallen zodra de scène tot rust komt. Behandel WindowServer als een probleem wanneer het hoog blijft op een stil bureaublad, wanneer de aanwijzer hapert terwijl je typt, of wanneer ventilatoren en batterijverbruik de compositor volgen zonder duidelijke bron van hertekenen.
Onderzoek het in Activiteitenweergave
Verzamel een basis voordat je instellingen wijzigt:
- Open Activiteitenweergave (Programma's > Hulpprogramma's), kies het tabblad CPU, en zoek naar
WindowServer. - Noteer het percentage op een stil bureaublad gedurende één of twee minuten: weinig zichtbare vensters, geen scherm delen, geen video, browsertabbladen inactief of weggegooid.
- Reproduceer de vertraging één keer (open het zware browservenster, start de opname, of wek het externe beeldscherm), en kijk of WindowServer met die verandering stijgt.
- Sorteer op CPU en kijk naar browserhelpers, vergaderapps, schermopnametools en alles met een naam als een virtueel beeldscherm. De bovenste app is een verdachte. WindowServer is vaak de rekening voor het tekenwerk.
- Optioneel: in Terminal geeft
top -o cpudertig seconden dezelfde rangschikking zonder het eigen venster van Activiteitenweergave open te houden.
Beoordeel WindowServer met het symptoom: soepelere invoer, minder warmte, of beter batterijgedrag. Een lager percentage zonder zichtbare of thermische verbetering is geen nuttige reparatie.
Hoe je het kalmeert (van mild naar sterk)
Werk eerst de goedkope winsten af. Wijzig één variabele, wacht, en houd de wijziging alleen aan wanneer zowel de meting als het gevoel verbetert.
- Sluit ongebruikte vensters, tabbladen en Spaces. Voeg browservensters samen, gooi inactieve tabbladen weg (Chrome/Edge Geheugenbesparing of het taakbeheer van de browser), en laat Spaces vallen die je niet gebruikt. Dit is meestal de grootste snede wanneer een browser open is.
- Verminder doorzichtigheid: open Systeeminstellingen > Toegankelijkheid > Weergave, en zet daarna Verminder doorzichtigheid aan. De gids over weergave-instellingen van Apple beschrijft de visuele verandering. Houd macOS bij. Op sommige tussentijdse builds deed deze schakelaar weinig tot een latere patch. Vergelijk dezelfde scène voordat je die als prestatie-reparatie aanhoudt.
- Verminder beweging: dit heeft nu een eigen paneel Toegankelijkheid > Beweging. De gids over beweging van Apple zegt dat het animaties wijzigt voor acties zoals apps openen en van bureaublad wisselen.
- Pauzeer opname en beeldscherm op afstand. Stop schermopname, zet de camera en het delen van de vergadering uit, verbreek Sidecar of AirPlay, en sluit tools voor virtuele beeldschermen één voor één.
- Vereenvoudig het bureaublad. Zet een geanimeerde of dynamische bureaubladachtergrond om naar een stilstaand beeld. Verberg of sluit live widgets en altijd zichtbare HUD-lagen die de menubalk opnieuw tekenen.
- Test beeldschermschaal en verversingssnelheid. Geef de voorkeur aan de standaardmaat "ziet eruit als", of een lagere verversingssnelheid op een extern paneel, en vergelijk daarna dezelfde belasting. Lever leesbare tekst niet in op de aanname dat alle schaling slecht is.
- Koppel één beeldscherm los als diagnose. Als de basis daalt, test dan de schaal, de verversingssnelheid, de kabel en de adapter van dat beeldscherm apart. Probeer op opstellingen met meerdere monitoren Beeldschermen hebben aparte spaces uit te zetten onder Bureaublad en Dock > Mission Control, om onafhankelijke compositorcontexten te verminderen.
- Werk macOS en de zware apps bij, en test daarna dezelfde rustscène opnieuw. Bugs in de compositor en de GPU van browsers landen vaak in gewone puntreleases.
- Log uit en weer in alleen nadat je bewijs hebt verzameld. Dit herstart de beeldschermsessie van de gebruiker. Een volledige herstart ruimt gelekte hertekenstatus op, maar kan de app verbergen die het opnieuw zal triggeren, dus gebruik die nadat je het patroon kent, niet in plaats van isoleren.
Wat niet helpt
- Forceer WindowServer niet om te stoppen. Alles op het scherm wordt in één keer opnieuw getekend, de CPU piekt opnieuw, en je leert niets over de eigenaar.
- Verwacht niet dat een algemene "opruimer" of "boost"-app de compositorbelasting repareert. Vensters sluiten, effecten verminderen en opname stoppen zijn de echte hendels.
- Behandel gewone Retina-schaling niet als een fout. Meet de geschaalde modus die je echt gebruikt tegen de standaard op dezelfde Mac en dezelfde kabel.
Onder de motorkap: de compositor, en waarom schalen kost
WindowServer is een compositor. Elke app tekent in zijn eigen buffer buiten het scherm, een backing store, en WindowServer combineert die buffers tot het uiteindelijke beeld voor elk beeldscherm, en past onderweg transformaties en effecten toe. Compositing draait wanneer de scène verandert, dus constante hertekeningen en opname kunnen continu CPU of GPU kosten. Sommige geschaalde modi gebruiken een groter tussenoppervlak en sampelen dat omlaag, maar dat is maar één mogelijke bijdrage. Aantal pixels, verversingssnelheid, aantal beeldschermen en frequentie van hertekenen moeten onafhankelijk worden getest.
Waar een monitor helpt
Activiteitenweergave of de Statusweergave van Mole kan WindowServer, CPU en GPU-trends tonen, maar geen van beide kan compositor-kosten automatisch aan één app toewijzen. De betrouwbare methode is gecontroleerd isoleren: stop één bron van hertekenen of wijzig één beeldschermvariabele, en vergelijk daarna de basis in rust en onder belasting.
Een diagnose die je kunt herhalen
Meet WindowServer in rust en tijdens het probleem, en isoleer daarna geanimeerde inhoud, browsers, opnametools, beeldschermen, schaal en verversingssnelheid één voor één. Houd de wijziging alleen aan wanneer zowel de meting als het zichtbare symptoom verbetert. Forceer WindowServer niet om te stoppen en behandel een gewone Retina-schaal niet als een fout.
Veelgestelde vragen
Is hoge CPU van WindowServer gevaarlijk?
Het kan warmte, ventilatorgeluid en batterijverbruik verhogen, en het kan de interface plakkerig laten aanvoelen, maar het is geen malware en het beschadigt de Mac niet vanzelf. Repareer de bron van het hertekenen. Probeer het proces niet te verwijderen of uit te zetten.
Waarom is WindowServer hoog terwijl Chrome er normaal uitziet?
Browserwerk belandt vaak in WindowServer omdat de browser oppervlakken indient om samen te stellen. Achtergrondtabbladen met animatie of video kunnen frames blijven voeden, ook wanneer de percentages van de eigen helpers van Chrome bescheiden lijken. Zet die tabbladen stil of sluit ze, en meet opnieuw.
Moet ik doorzichtigheid verminderen op Apple silicon?
Probeer het als een gecontroleerde test. Veel Macs uit de M-serie laten nog steeds compositorwerk vallen wanneer doorzichtigheid en beweging dalen, vooral met meerdere beeldschermen of browservensters. Houd de instelling alleen aan als dezelfde rustscène daarna beter aanvoelt.
Repareert een herstart WindowServer blijvend?
Een herstart ruimt tijdelijke hertekenstatus op en helpt vaak een tijdje. Als hetzelfde browservenster, dezelfde opnametool of dezelfde beeldschermconfiguratie de belasting terugbrengt, is de configuratie de oorzaak. Repareer die, en herstart daarna alleen als de sessie al in een slechte staat is.