As far as I know WindowServer process is used by all apps to draw windows that we see. And a lot of people are reporting a problem when their WindowServer is using a lot of CPU. Is there any way to find out what process is interacting with WindowServer besides looking at the precesses at the ActivityMonitor, shutting them down and looking at the result?
Check out the man page for perfdiagnose. This tool is purpose-made for diagnosing exactly this sort of issue, where a simpler tool like Activity Monitor can only show you symptoms.
The output from perfdiagnose is not intended for end-users, but for developers and teams at Apple. If you're not able to make any sense of the logs it produces, your best bet is to attach them to a bug report submitted to Apple.