Win 7 Desktop Graphics Loves Multi-core CPUs

Here on Tom’s Hardware we like to measure graphics performance by running 3D benchmarks but gaming is only relevant to a small segment of Windows users. Even those of us who spend hours playing games spend more of our time in the 2D desktop UI.

For that reason, it makes sense for the Microsoft software engineers to devote a significant part of their time trying to make the desktop environment as snappy as possible. The challenge for Windows is that it must take into account a countless combination and wide range of hardware configurations and try to make it all work.

We detailed in a previous article the lengths at which the team has gone to improve the response time of the start button. Now in the latest Engineering Windows 7 blog, the team has revealed a couple more changes it has made to the graphics system that will make working in Windows better.

One problem that some Windows users experience (prior to Windows 7), is slight pauses or even freezes. Using testing data, Microsoft analyzed thousands of reports where the tester experienced a frozen desktop anywhere from 100msec to several seconds.

The way Windows Vista does it

“The type of issues ranged from an antivirus blocking disk access for all applications while updating itself on the vendor’s website to an application doing network access from a UI thread,” explained Ameet Chitre, a program manager on Microsoft’s Desktop Graphics feature team.

Microsoft found that a large portion of ‘freezes’ came from multiple applications waiting around for one another to be finished with the GDI (Graphics Device Interface) before each could update the desktop with a new render.

In Windows Vista, a single application could hold a system-wide lock on the GDI, basically creating a bottleneck, especially if there are other applications waiting in line to access the graphics stack. While such a design decision may have been okay in the past, it’s been re-engineered for Windows 7.

The way Windows 7 does it

“The solution to the problem was therefore to reduce the lock contention and improve concurrency by re-architecting the internal synchronization mechanism through which multiple applications can reliably render at the same time,” Chitre wrote. “Contention due to the global exclusive lock is avoided by implementing a number of fine-grained locks which are not exclusive but aid parallelism.”

The shift in architecture adds a small overhead cost when only a single application is accessing the GDI at a time, but trade off to aid in multitasking is worth it.

“This work also resulted in better rendering performance of concurrent GDI applications on multi-core CPUs. Multi-core Windows PCs benefit from these changes as more than one application can now be rendering at the same time,” Chitre said, adding that the improvements worked to reduce response time issues. “Without the Windows 7 GDI concurrency, the rendering throughput of these applications is effectively limited to the performance of a single CPU core. Since only a single application can acquire the global exclusive lock while the others are waiting, this scenario doesn’t benefit from multiple CPU cores. This demonstrates that GDI applications in Windows 7 are now much less dependent on one another.”

Frame rate of each application window a quad-core CPU system

Changes such as this are immediately appreciable by all Windows users, particularly those who feel that Windows Vista’s performance wasn’t up to snuff. No new drivers are required for this as the new GDI system will work with any Vista (WDDM 1.0) driver.

Marcus Yam
Marcus Yam served as Tom's Hardware News Director during 2008-2014. He entered tech media in the late 90s and fondly remembers the days when an overclocked Celeron 300A and Voodoo2 SLI comprised a gaming rig with the ultimate street cred.
  • Great! Improvements! Now ask MS to improve defrag (to defrag by folders and their content), and not by spreading necessary bootfiles of programs all across the disk, and Win7 will become awesome!
    Reply
  • gwellin
    So better desktop graphics is great, but it would be better for me to see a large improvement in gaming graphic performance as well.
    Reply
  • bustapr
    Does this mean that all the crap that nvidia said about core i7 and core 2 duo is the same for gaming was a wrong statement when it comes to windows7?
    Reply
  • marokero
    Would this be something that can be implemented still in Vista or will it only be available for 7? I'm getting 7 either way, but it would be nice if I could use it in Vista in the mean time.
    Reply
  • deltatux
    They should also backport this to Windows Vista and not just DirectX 11. This will be a highly welcomed fix.

    However, I've never ever ran into issues like this in Windows Vista ... come to think of it. I have multiple applications, and my system never stalled. Quadcore or not. Before I got this quad core, on my dual core system, desktop never froze once.
    Reply
  • downix
    backport, not just to vista, but XP! This has been a known issue with Windows for years, dating back to even the 3.0 days that I am aware of.
    Reply
  • tayb
    Just simply having a co-worker read the article before you posted it could have corrected the obvious errors. Or maybe even just re-reading it to yourself out loud like a lot of writers tend to do. I guess that would take too much time.
    Reply
  • jsloan
    sounds great, im moving to windows 7 rc as soon as it is made public.
    Reply
  • rocket_sauce
    Wow great! Now we can have more crap running in the background to bog down the new architure design!! Woo-hoo!! If they would just stop running so much crap while the cpu is on, it wouldn't be such an issue in my opinion. I am glad they are working to improve it though.
    Reply
  • captaincharisma
    backport, not just to vista, but XP!

    enough with XP already! its time to kill it
    Reply