Free Newsletters

   All InfoWorld Newsletters
Enterprise Desktop | Randall C. Kennedy » Vista Aero: What a CPU Hog!

March 20, 2007 | Comments: (0) | TrackBacks: (1021)

Vista Aero: What a CPU Hog!

Microsoft's new Aero Glass GUI - one of the cornerstones of the company's Windows Vista marketing message - is a joy to behold. Aero's sleek, semi-transparent facades serve to enhance the user experience by providng a stronger sense of "depth" and cohesion. Combined with Vista's enhanced UI metaphors (love those "breadcrumbs" in explorer), Aero is a major improvement over the XP GUI.

It's also a CPU hog. Despite Microsoft's claims about leveraging 3D accelerator technology to offload the GUI workload, Aero still chews-up more CPU cycles (an average of 22%) with desktop composition enabled (i.e. 3D accelerated mode) than with it disabled (i.e. non-accelerated "legacy" mode). In other words, turn on the "bling" and you toss nearly a quarter of your CPU bandwidth out the window.

Note: I measured the above using the recently updated DMS Clarity Tracker Agent, which is now part of the new public exo.performance.network (xpnet.com) project. You can reproduce the test scenario by downloading the companion DMS Clarity Studio tool (also at xpnet.com) and running the OfficeBench test script, first with composition enabled and then with it disabled.

Other interesting tidbits:

  • The ratio of the increased CPU overhead is roughly 4:1 in favor of User vs.Privileged (i.e. kernel mode) time - a good thing.

  • That User mode bump can be traced directly to the participating applications - for example, Word 2007 using 48% more CPU time with composition enabled.

  • Enabling desktop composition also causes windows to chew another 16% of the available physical RAM as measured by the Committed Bytes counter.

  • Though CPU overhead was higher with composition enabled, overall script completion tiTes - as measured by OfficeBench - were only 3% slower.

  • One alarming statistic: Processor Queue Length, a measure of how many threads are queued and waiting for CPU time, increases by 28% with composition enabled - not good, especially for multitasking.

Bottom Line: For single-tasking users running generic productivity application scenarios, the added overhead from enabling desktop composition shouldn't be much a factor. However, more demanding users - especially those needing maximum performance - may find that turning composition off let's them regain some of those long lost CPU cycles.

I guess the old saw still applies: What Intel (and AMD) giveth, Microsoft taketh away...

Posted by Randall Kennedy on March 20, 2007 04:56 PM


RATE THIS ARTICLE:





 

  •  
  • COMMENTS




A CPU is not a CPU (P4 vs Core 2 Duo vs X2 etc.), and A gig of RAM is certianly not the same as 512MB.

thus

Percentages do no good in this article, as we don't know what kind of machine you are running on. What takes 25% of your CPU cycles may only take 5% of mine. 18% of your RAM could be 10% of mine, etc.

Why not give us some numbers so we can tell if Vista is really a hog, or if your just in need of an upgrade.

Posted by: Doug A at March 21, 2007 11:09 AM

Doug,

Good point! Silly me for not specifying my test bed:

Dell XPS M1710 Laptop
Core Duo T2500 (2GHz)
2GB DDR-2 (667MHz) RAM
nVidia GeForce Go 7900GS
80GB 7200RPM SATA-II HDD

Yeah, it's a real slouch... :-)

RCK

Posted by: Randall C. Kennedy at March 21, 2007 11:17 AM

Thanks Randall.

This helps put it in perspective. Guess i was a little harsh, but i was expecting a more out of date system. Perhaps my view is skewed due to my recent upgrade.

Still as computers still improve, multiple cores, better graphic cards (DX10) etc. that the % amount will be dramatically reduced. Even if the base amount of resources used stays the same.

Just as you wouldn't run Windows XP on a 486 and expect it to work anygood, you have to have the hardware to make it of any use. Perhaps your hardware isn't at that level yet.

Posted by: Doug A at March 22, 2007 11:59 AM

These numbers are disturbing. My MacBook Pro (Duo Core 2.16) never goes over 5% CPU utilization when performing its graceful UI fades and swooshes. 22% is unbelievably high. How can you call this an "improvement"?

I heard several complaints from colleagues who still use Windows (still trying to convert them :-)). One of them finally uninstalled Vista and went back to XP SP2 and reported a huge performance increase when using Visual Studio. He is on a Core 2 Duo system with 2G RAM, btw...

Posted by: John Hann at March 29, 2007 06:57 AM

Heh, maybe it is just a Vista issue with the newest Intel processors. On my socket 939 Athlon 64 3200+ (2.0 GHz), I do not ever see particularly high cpu usage with Aero enabled compared with XP and programs never appear to be slower either.

As for memory usage, I typically see on the order of 30 to 60 MB more being used than on XP with the same programs running; I do run the side bar, so that accounts for a chunk of that extra being used. That translates to about 3 to 6% more memory being used out of my 1 GB. Excludiing the memory used by the side bar further reduces that percentage.

Just so you know, I am referring to memory not available for other programs to use (as other people may say, not strongly marked as in use) rather than committed bytes (there is a difference); the latter of which is not particularly an accurate indication of available memory on Vista because of the way in which it uses and gives up memory that is used for certain background operations.

Posted by: ShadowFlare at April 9, 2007 06:52 PM

ShadowFlare,

It's important to note that the tests I conducted were under load - measuring variations in CPU utilization of the Office 2007 applications - and not just idle cycles. Aero's impact is felt when the system is in motion.

Also, Committed Bytes is actually one of the more accurate counters for measuring memory consumption since it represents the amount that Windows thinks it needs in order to effectively service the current workload. As this value begins to approach/overtake physical memory, VMM thrashing of the pagefile can severely degrade system performance.

Bottom Line: Anytime I see Committed Bytes rise without a corresponding increase in the workload size or complexity (i.e. my test scenario), I get nervous.

RCK

Posted by: Randall C. Kennedy at April 9, 2007 10:43 PM

Hmm, I do have a couple of questions to ask about your tests, since these details were not mentioned in the article.

1) Did you perform the tests more than once? You did not specifically state whether you did or not.

If not, then 2) Did you perform the test first with Aero enabled and then with it disabled, or first with it disabled? You did not mention this either. (but one part seems to indicate that you did it with it enabled first) If the tests were indeed only performed once each, then there could have possibly been some other factor in the differences in the test results.

I would attempt to confirm the results myself, but unfortunately I cannot, as the test scripts require Microsoft Office, correct?

Posted by: ShadowFlare at April 10, 2007 01:05 AM

Simple test that boggles me to no end: Take a window in Vista and drag it around extremely fast. Hold down the left click on the title bar and shake your mouse as fast as you can, with either Task Manager selected (sorted by CPU) or with the Gadget CPU gauge up, you will notice the moment you begin to "Shake" the window your CPU cycles go up a good 15-25% depending. I've tested this on a number of machines, with/without Gadgets enabled, without Aero enabled, and it seems to not matter. Anyone able to explain this? Same test can be applied with resizing windows.

Posted by: SlackUser at June 10, 2007 03:51 AM

Windows dev here...

Committed Bytes is a terrible measurement of memory usage. It has absolutely no correlation to the amount of memory that Windows "thinks" it needs for anything in particular.

Commit measurements typically include anything mapped to a process' address space. That includes memory-mapped files and video memory that is allocated to a process.

It seems you're more interested in the private working set of an application. Perhaps you should have measured that. Or something else useful, like page faults / sec.


You also didn't specify whether you disabled Aero simply by switching the theme, or by using a non-WDDM driver. An XP-style driver will have hardware-accelerated GDI, which will impact the CPU usage of applications that use it to render their client areas. Of course, this is entirely expected since in the WDDM age, all of GDI goes through the CPU. Yeah it uses more CPU, but that's what CPU is there for. It's never enough that you'll *actually notice*

Other than that, simply enabling or disabling composition will not impact the CPU usage of an application, since it's doing the exact same work either way.

Posted by: Brandon Paddock at February 3, 2008 12:28 PM

Technology White Papers

 

InfoWorld Technology Marketplace

» Technology White Papers Library

Technology White Papers by Topic

Technology White Papers E-mail Alert

Find out when the latest white paper is available:
 
 
» BUY A LINK NOW

Sponsored Technology Links