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 itThe 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 itThe 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 systemFrame 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.

Create a new thread in the US News comments forum about this subject
This thread is closed for comments
Comment from the forums
    Your comment
    Top Comments
  • captaincharisma
    backport, not just to vista, but XP!

    enough with XP already! its time to kill it
  • Other Comments
  • Anonymous
    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!
  • 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.
  • 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?