Skip to main content
Mole
Overview Features Testimonials Pricing FAQ Blog
EnglishEN 简体中文中 繁體中文繁 日本語日 한국어한 FrançaisFR DeutschDE ItalianoIT EspañolES
Buy now Download
Home/Blog/Fix WindowServer High CPU on Mac

Performance

Fix WindowServer High CPU on Mac

June 21, 2026 · 3 min read

WindowServer is the macOS display compositor. Its CPU use reflects the work required to combine app surfaces across displays, but the process name does not reveal which app is causing repeated redraws. A high number during animation, screen sharing, or a display change can be normal. The useful signal is sustained load at idle plus a measurable effect on responsiveness, heat, or battery life.

What WindowServer actually is

WindowServer is the macOS compositor. Every window, menu, animation, and pixel you see is drawn and combined by it, across every display. Because it touches everything on screen, a heavy graphical workload shows up as WindowServer CPU rather than under the app causing it. That makes it look like the culprit when it is really the messenger.

What drives it up

A handful of things make WindowServer work harder:

  • Many windows and Spaces. Dozens of open windows and a pile of virtual desktops all have to be tracked and composited.
  • External and high-resolution displays. More pixels to push, especially a 4K or 5K screen, or several monitors at once, raises the baseline steadily.
  • Scaled resolution. Running a display at a non-native "looks like" resolution can require a larger render surface and downsampling. The cost depends on the Mac, display, scaling mode, and workload; Retina scaling itself is normal.
  • Transparency and motion. The blur and translucency in menus, the Dock, and Control Center are all live effects WindowServer computes continuously.
  • A window-heavy app redrawing constantly, such as a terminal printing fast or a page animating in the background.
  • Capture and remote-display software. Screen recording, video calls, AirPlay, remote desktop, and virtual-display tools add capture or composition work.
  • High refresh rates and animated desktops. More frames or continuously changing pixels increase the amount of work even when you are not touching a window.

How to calm it

Work through the cheap wins first:

  • Reduce transparency: System Settings > Accessibility > Display > Reduce transparency. This alone drops WindowServer load noticeably on older Macs.
  • Reduce motion in the same panel cuts animation work.
  • Test the default display scale or a lower refresh rate, then compare the same workload. Do not sacrifice readable text based on the assumption that all scaling is bad.
  • Close windows and collapse Spaces you are not using, and quit apps that redraw heavily in the background.
  • Pause screen recording, remote desktop, animated wallpaper, or virtual displays one at a time to identify the owner.
  • Disconnect one display as a diagnostic. If that changes the baseline, test its scale, refresh rate, cable, and adapter separately.

Log out and back in only after collecting evidence; this restarts the user display session. A reboot can hide a redraw bug without identifying the app that will trigger it again.

Under the hood: the compositor, and why scaling costs

WindowServer is a compositor. Every app draws into its own offscreen buffer, a backing store, and WindowServer combines those buffers into the final image for each display, applying transforms and effects as it goes. Compositing runs whenever the scene changes, so constant redraws and capture can cost CPU or GPU continuously. Some scaled modes use a larger intermediate surface and downsample it, but that is only one possible contributor. Pixel count, refresh rate, display count, and redraw frequency must be tested independently.

Several app backing stores feed a compositor that outputs one display image, with scaled resolution shown rendering larger then downsampling to the panel's native pixels.
WindowServer combines app surfaces for each display. Scaling, refresh rate, capture, and repeated redraws can each add work to that composition pipeline.

Where a monitor helps

Activity Monitor or Mole's Status view can show WindowServer, CPU, and GPU trends, but neither can automatically assign compositor cost to one app. The reliable method is controlled isolation: stop one redraw source or change one display variable, then compare the idle and workload baselines.

A repeatable diagnosis

Measure WindowServer at idle and during the problem, then isolate animated content, capture tools, displays, scale, and refresh rate one at a time. Keep the change only when both the metric and the user-visible symptom improve. Do not force-quit WindowServer or treat an ordinary Retina scale as a fault.

Mole brings disk analysis, app maintenance, and review-first cleanup into one native app, while leaving system-owned data to macOS and the apps that own it.

Buy Mole Try it free

Keep reading

  • PerformanceFix Google Chrome Helper High CPU on Mac3 min read
  • PerformanceHow to Check Mac Temperature and Fan Speed3 min read
  • PerformanceWhy Your MacBook Fan Is Loud6 min read

Mole · 鼴

Cleanup, software, and status for your Mac.

v1.11.0 · Release notes

Support

Help Documentation Releases

Legal

Terms of Service Privacy Policy Refund Policy

Resources

Blog CLI Tool Affiliates Program

Connect

Twitter hi@mole.fit

Only official site mole.fit · Fake sites may ship unsafe downloads

For your Mac, or a friend's. The CLI stays free for terminal workflows. May your time be your own.