Skip to navigation

PCPro-Computing in the Real World Printed from www.pcpro.co.uk

Register to receive our regular email newsletter at http://www.pcpro.co.uk/registration.

The newsletter contains links to our latest PC news, product reviews, features and how-to guides, plus special offers and competitions.

// Home / Blogs

Posted on May 7th, 2009 by Darien Graham-Smith

Windows 7 GDI performance: the trade-off

Yesterday I noted that our Office benchmark runs surprisingly slowly in the Windows 7 RC. Today I’ve been digging around for an explanation.

The first step was to see whether the slowdown affected all Office applications equally, or whether it manifested mainly in one application. This was easily tested with a stopwatch, and the results were pretty clear: the Access, Excel and Word tests completed in effectively identical times in Vista and Windows 7 RC… but the PowerPoint test took more than three times as long in Windows 7.

Look, here’s that same information in graph form:

What was slowing PowerPoint down? The benchmark wasn’t stalling at any particular point. Rather, it seemed to suffer from a generally hobbled draw rate. With Vista I’m used to seeing our test slides flash past at tremendous speeds, like some sort of corporate blipvert; but in Windows 7, running on the same hardware, the more complex images took an appreciable fraction of a second to render. Since our benchmark uses hundreds of such slides, that was enough to explain the difference in execution times.

Updating the drivers

It looked like a classic graphics driver problem. The drivers for our ATI Radeon HD 4550 had come from Windows Update, so I downloaded ATI’s new WHQL certified Windows 7 drivers, installed them and repeated the benchmark. No change.

Just to be certain, I whipped out the ATI card and replaced it with an Nvidia GeForce 8500GT. Identical results again, regardless of whether I used the drivers provided by Windows Update or the latest package from Nvidia.

This year’s model

On the face of it, this is mysterious. Windows 7 uses the new Windows Display Driver Model 1.1, which is supposed to perform more efficiently than the WDDM 1.0 found in Vista. Hell, its superiority is obvious as soon as you start dragging transparent windows around on a low-spec PC. So you’d expect rendering in PowerPoint to be faster, not slower.

But if you look into the actual changes involved in WDDM 1.1 (there are some good details at the Windows 7 Engineering Blog) it’s apparent that there’s an element of trade-off involved. Let me pull out a few pertinent sentences from that blog link:

In Windows Vista, every GDI application window accounts for two memory allocations which hold identical content – one in video memory and one in system memory. [. . .] Windows 7 saves one copy of the memory allocation per application window by getting rid of the system memory copy entirely. Thus, for a GDI application window visible on the desktop, the memory consumed is cut in half. [. . .]

The elimination of the duplicate system memory copies [leads in some cases to] reduced performance as the CPU now has to read data back from the video memory. [. . .] Our observation has been that these slow-downs do not impact the end-user functionality directly and that the memory savings directly result in Windows 7 being much responsive overall.

To me this sounds like a very plausible explanation for the effect I’ve seen. It’s easy to believe that PowerPoint’s graphical routines involve lots of inefficient CPU-based operations – I mean, that’s what it looks like when it’s running.

And, in fairness, I think Microsoft is right to make this trade-off. In the real world, a small delay in switching slides is unlikely to cause too much bother (although it would arguably be a good thing if it did discourage people from using PowerPoint). It’s probably a price worth paying for the nippy Windows 7 front-end.

Back to the old school

But what if you rely on an application that’s more severely affected? I can easily picture a specialist CAD or modelling application slowing to a crawl with Windows 7 drivers. And since the performance trade-off is by design there’s little hope of a fix. What then? Is there a way to regain the performance of Vista? (There’s a question I never thought I’d ask.)

The answer is pleasingly simple. Since Windows 7 is designed to be backward-compatible with Vista, you can just install a Vista graphics driver, which of course will still use WDDM 1.0. And guess what?

Yep, installing WDDM 1.0 drivers on Windows 7 brings GDI performance back up to speed. (In fact I found the combination slightly faster than Vista, but don’t read too much into that – I’d need to repeat the tests several more times to be sure that small variation wasn’t just down to background services, caching etc.)

I tested Vista drivers under Windows 7 with both ATI and Nvidia cards and the results were identical. Sure, the old drivers are supposedly less efficient, but I didn’t observe any difference in responsiveness or RAM usage, even when I opened up twenty concurrent Explorer windows.

OK, it’s not a perfect solution, nor even a very neat one. And as developers get to grips with the new OS, choosing Vista drivers may mean missing out on Windows 7-specific benefits.

But still, it’s good to know what’s going on.

Posted in: Random

Permalink | Trackback

Follow any responses to this entry through the RSS 2.0 feed.

7 Responses to “ Windows 7 GDI performance: the trade-off ”

  1. muck Says:
    May 8th, 2009 at 8:34 am

    Surely the ATI Win 7 drivers are in beta. I use Nvidia drivers and I know they stick the beta tag to it.

     
  2. TaoistTotty Says:
    May 8th, 2009 at 9:31 am

    This is interesting and it could be the beta drives as muck mentions.

    Are you planning on testing this with CAD and/or Photoshop etc. as this would be interesting to see and could cause bigger problems)?

     
  3. Alan Says:
    May 8th, 2009 at 12:11 pm

    Good work Darien, very interesting.

     
  4. Yuri Says:
    May 8th, 2009 at 6:48 pm

    Darien, where can I install the benchmark from? Which version of office does it use?
    Thanks!

     
  5. W7: problemas con drivers GDI « Tecnologia, Actualidad,y mucho mas…. Says:
    May 8th, 2009 at 11:28 pm

    [...] PCPro nos llega el resultado de unas pruebas de rendimiento que competen a la nueva versión de Windows [...]

     
  6. Darien Graham-Smith Says:
    May 11th, 2009 at 1:05 pm

    Yuri: These are the standard PC Pro real world benchmarks, which use Office 2003. I’m afraid we can’t distribute them as they’re built on commercial code from multiple vendors… but if you’re interested you can find more details in the “Real World Benchmarks” section of any PC Pro cover disc. Cheers!

     
  7. Italian Boy Says:
    May 17th, 2009 at 4:04 pm

    Hi, I think that the reasoning is not much correct. With the new GDI model of WDDM 1.1 there will be a slowdown only when the CPU has to read back from the GPU vram. This case is very rare in normal applications. Why you would read back from video memory? Usually you want only to draw something on the screen. And if you want to elaborate some pixels already displayed on video, usually you leave this task to the GPU itself (and this is what should do WDDM 1.1), because the GPU can work at full speed with its vram.
    So, I think that if an application, today, works faster with Vista WDDM 1.0 drivers, it is only because the Win7 WDDM1.1 drivers are not mature yet. Or maybe new applications have to use new WDDM1.1 api to take advantage of its GPU accelerated functions.
    Sorry for my bad english.

     

Leave a Reply

Spam Protection by WP-SpamFree

* required fields

* Will not be published

Authors

Categories

Archives

advertisement

SEARCH
SIGN UP

Your email:

Your password:

remember me

advertisement


Hitwise Top 10 Website 2010