What is WindowServer?
WindowServer puts every window, menu, animation and cursor on your screen. Apps describe what they want to show, and WindowServer combines it all into the final picture for each display, many times per second.
Because it works for every app, its CPU usage is really the sum of how much the screen is changing. A still desktop costs almost nothing. Several displays, high refresh rates, video, and windows that redraw constantly can keep it busy.
Why is WindowServer using so much CPU?
- Several or very large displays, especially with a scaled resolution, which means drawing at a higher size and shrinking it down.
- Lots of open windows, and windows on other Spaces still being updated.
- Constant animation: a web page with moving ads, an app with a progress animation, or a screen recorder.
- Transparency and motion effects across the system.
- One app redrawing too often because of a bug. Quitting it drops
WindowServerimmediately.
How to fix high WindowServer CPU usage
- Confirm it in Activity Monitor. Press ⌘ Space, type Activity Monitor, open the CPU tab and sort by % CPU. Watch
WindowServerfor a minute: short spikes are normal, only steady high usage needs fixing. - Close windows you don't need, including ones on other desktops in Mission Control.
- Find the app that's redrawing. Quit apps one at a time and watch
WindowServerin Activity Monitor; when it falls, you've found it. - Turn on Reduce transparency in System Settings › Accessibility › Display. Reduce motion can help too.
- Try the default resolution for external displays in System Settings › Displays, instead of a scaled one.
- Restart if it stays high after closing everything. That resets the window server cleanly.
More help: How to check CPU usage on a Mac