Hohe CPU-Last von WindowServer auf dem Mac beheben
WindowServer ist der macOS-Display-Compositor. Seine CPU-Auslastung spiegelt die Arbeit wider, die nötig ist, um App-Oberflächen über alle Displays hinweg zusammenzusetzen. Der Prozessname verrat jedoch nicht, welche App wiederholte Neuzeichnungen auslöst. Ein hoher Wert während einer Animation, einer Bildschirmfreigabe oder einer Display-Änderung kann normal sein. Das nützliche Signal ist dauerhafte Last im Leerlauf plus ein messbarer Effekt auf Reaktionsfähigkeit, Wärme oder Akkulaufzeit.
Was WindowServer tatsächlich ist
WindowServer ist der macOS-Compositor. Jedes Fenster, Menü, jede Animation und jedes Pixel, das Sie sehen, wird von ihm gezeichnet und kombiniert – über jedes Display hinweg. Weil er alles auf dem Bildschirm berührt, erscheint eine schwere grafische Last als WindowServer-CPU und nicht unter der App, die sie verursacht. Das lässt ihn wie den Übeltäter aussehen, obwohl er in Wahrheit nur der Bote ist.
Was ihn nach oben treibt
Einige wenige Dinge lassen WindowServer härter arbeiten:
- Viele Fenster und Spaces. Dutzende offene Fenster und ein Stapel virtueller Desktops müssen alle verfolgt und zusammengesetzt werden.
- Externe und hochauflösende Displays. Mehr Pixel zu bewegen – besonders ein 4K- oder 5K-Bildschirm oder mehrere Monitore gleichzeitig – hebt die Grundlast stetig an.
- Skalierte Auflösung. Ein Display mit einer nicht nativen „sieht aus wie“-Auflösung zu betreiben, kann eine größere Render-Fläche und Downsampling erfordern. Die Kosten hängen von Mac, Display, Skalierungsmodus und Auslastung ab; Retina-Skalierung an sich ist normal.
- Transparenz und Bewegung. Die Unschärfe und Durchsichtigkeit in Menüs, im Dock und im Kontrollzentrum sind alles Live-Effekte, die WindowServer fortlaufend berechnet.
- Eine fensterlastige App, die ständig neu zeichnet, etwa ein Terminal, das schnell ausgibt, oder eine Seite, die im Hintergrund animiert.
- Capture- und Remote-Display-Software. Bildschirmaufnahme, Videoanrufe, AirPlay, Remote Desktop und Virtual-Display-Werkzeuge erzeugen zusätzlichen Capture- oder Compositing-Aufwand.
- Hohe Bildwiederholraten und animierte Desktops. Mehr Frames oder fortlaufend wechselnde Pixel erhöhen den Arbeitsaufwand, selbst wenn Sie kein Fenster berühren.
Wie Sie ihn beruhigen
Arbeiten Sie zuerst die günstigen Gewinne ab:
- Transparenz reduzieren: öffnen Sie Systemeinstellungen > Bedienungshilfen > Anzeige, und aktivieren Sie Transparenz reduzieren. Apples Anleitung zu Anzeigeeinstellungen beschreibt die visuelle Änderung. Das kann Live-Effekt-Arbeit verringern, aber vergleichen Sie dieselbe Szene, bevor Sie es als Leistungsfix behalten.
- Bewegung reduzieren: das hat inzwischen ein eigenes Panel unter Bedienungshilfen > Bewegung. Apples Anleitung zu Bewegung besagt, dass es Animationen für Aktionen wie das Öffnen von Apps und den Wechsel zwischen Desktops verändert.
- Testen Sie die Standard-Display-Skalierung oder eine niedrigere Bildwiederholrate und vergleichen Sie dieselbe Last. Opfern Sie keine lesbare Schrift nur aufgrund der Annahme, dass jede Skalierung schlecht sei.
- Schließen Sie Fenster und klappen Sie Spaces zusammen, die Sie nicht nutzen, und beenden Sie Apps, die im Hintergrund stark neu zeichnen.
- Pausieren Sie Bildschirmaufnahme, Remote Desktop, animiertes Wallpaper oder virtuelle Displays nacheinander, um den Verursacher zu finden.
- Trennen Sie ein Display als Diagnose. Wenn sich die Grundlast ändert, testen Sie Skalierung, Bildwiederholrate, Kabel und Adapter getrennt.
Melden Sie sich erst ab und wieder an, nachdem Sie Belege gesammelt haben; das startet die Benutzer-Display-Sitzung neu. Ein Neustart kann einen Neuzeichnungsfehler verbergen, ohne die App zu identifizieren, die ihn wieder auslöst.
Bewerten Sie nicht nur den momentanen Prozentsatz. Beobachten Sie in der Aktivitätsanzeige dieselbe Leerlaufszene einige Minuten lang, reproduzieren Sie eine Animation oder Capture-Last, und entfernen Sie dann eine vermutete Quelle. WindowServer sollte anhand des Symptoms beurteilt werden: flüssigeres Eingabeverhalten, weniger Wärme oder besseres Akkuverhalten. Eine niedrigere Zahl ohne sichtbare oder thermische Verbesserung ist kein nützlicher Fix.
Unter der Haube: der Compositor und warum Skalierung kostet
WindowServer ist ein Compositor. Jede App zeichnet in ihren eigenen Offscreen-Puffer, einen Backing Store, und WindowServer kombiniert diese Puffer zum finalen Bild für jedes Display und wendet dabei Transformationen und Effekte an. Das Compositing läuft, sobald sich die Szene ändert; ständige Neuzeichnungen und Capture können daher CPU oder GPU fortlaufend belasten. Manche skalierte Modi nutzen eine größere Zwischenfläche und rechnen sie herunter, aber das ist nur ein möglicher Beitrag. Pixelanzahl, Bildwiederholrate, Display-Anzahl und Neuzeichnungsfrequenz müssen unabhängig getestet werden.
Wo ein Monitor hilft
Die Aktivitätsanzeige oder die Status-Ansicht von Mole kann Trends von WindowServer, CPU und GPU zeigen, aber keines von beiden kann Compositor-Kosten automatisch einer App zuordnen. Die zuverlässige Methode ist kontrollierte Isolation: stoppen Sie eine Neuzeichnungsquelle oder ändern Sie eine Display-Variable, und vergleichen Sie dann die Leerlauf- und Last-Grundwerte.
Eine wiederholbare Diagnose
Messen Sie WindowServer im Leerlauf und während des Problems, und isolieren Sie dann animierte Inhalte, Capture-Tools, Displays, Skalierung und Bildwiederholrate nacheinander. Behalten Sie die Änderung nur, wenn sowohl die Kennzahl als auch das für Sie sichtbare Symptom sich verbessern. Beenden Sie WindowServer nicht erzwungen und behandeln Sie eine gewöhnliche Retina-Skalierung nicht als Fehler.