One potential issue in OS X Yosemite that you might run into is a problem with the WindowServer, where at times this background process can use a large amount of your Mac’s CPU. This may result in not only choppy performance, but also excessive energy usage and heat generation, and therefore greatly reduce the battery life of MacBook systems.
As its name suggests, WindowServer is a process responsible for drawing and handling window elements on screen. As such, it is expected to use more CPU whenever you perform tasks such as creating, resizing, or moving windows, or even manipulating contents within them. This can include playing videos, scrolling contents, drawing items in graphics programs, or even perform continuous actions like playing movies. Any of these actions are expected to have WindowServer’s CPU usage jump; however, these jumps should die back once the actions are finished.
The WindowServer process may take up an excessive amount of CPU for no apparent reason.
Unfortunately, in OS X Yosemite there appears to be a bug or two in WindowServer that will sometimes spur it into high gear, and then keep it there without any obvious reason. In these instances, your Mac will run hot and choppy, and if you have a laptop then you will see your battery life be cut significantly shorter. At times this may seem to occur from opening a program or otherwise performing some action, but it does seem to happen rather randomly.
The exact reason for this is not too clear, but one factor that seems to affect the extent of this problem is how transparencies and other advanced graphics rendering for window elements are managed in OS X, some of which have seen enhancements in Yosemite.
While you can log out and back in (or just restart) to force a re-loading of the WindowServer and thereby clear the problem, this is an inefficient workaround.
A fix for this issue will likely have to come with a software update; however, for now you can help stem it without restarting your Mac by turning off some of Yosemite’s advanced graphics settings. In most cases these will not show any significant change to the look and feel of Yosemite, but can take WindowServer from using a regular 40-80 percent CPU down to between 7 and 15 percent.
1. Reduce transparencies
Go to the Display section of the Accessibility system preferences, and check the box to “Reduce transparency.” In doing this, you will see the menu bar and Dock become more opaque; however, this might actually be more appealing to some people.
Check this option to reduce the transparency in Yosemite’s interface.
2. Turn off Automatic Graphics Switching
The issue at hand may be how a specific graphics processor is handling the transparencies. If you are using a MacBook Pro or other system that has two graphics processors, then go to the Energy Saver system preferences and turn this feature off. Doing so will force it to use the higher-power graphics processor, which in this case seems to more efficiently manage the WindowServer’s demands. However, be sure you check your Mac’s performance both with and without this option enabled, and then go with whichever works best for you.
Uncheck this option to turn off automatic graphics switching and force the use of the more powerful graphics processor.
3. Hide the Dock
One additional detail that might help reduce the CPU usage of WindowServer is to push the Dock off the side of the screen so it is not visible. This will prevent WindowServer from having to draw it, and seems to kick the CPU usage of this process down a few percentage points. To do this, you can right-click the separator bar between the apps and the documents section of the Dock, and choose the option to turn hiding on. This can also be done in the Dock system preferences.
Check this option to hide the Dock in OS X.
4. Miscellaneous options
These three options so far should beat back WindowServer and allow you to use your Mac more fluidly; however, there are some additional tips you can try to further drop the demand of WindowServer. For one, being a window-management process, closing any unnecessary windows and programs will reduce the probability of it using CPU (though this does not seem to have much effect on the problem at hand). In addition, tidying up your desktop and reducing the number of icons on it may also help reduce the demand of WindowServer (after all, your Desktop is a window of sorts that needs to be drawn).
Finally, be sure you have updated and continue to update all of your third-party software. Check for updates regularly over the next few weeks, as developers will be identifying problems such as this that their software might be spurring, and will issue updates that correct the problems. This is especially true for system monitoring software, any that reside in your menu bar, or others that continually run in the background.