Sign in with
Sign up | Sign in

Win 7 Desktop Graphics Loves Multi-core CPUs

By - Source: Tom's Hardware US | B 37 comments

Graphics performance is one of the most scrutinized part of modern computer systems. The Windows 7 team is working on boosting the upcoming operating system’s graphics performance.

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.

Discuss
Display all 37 comments.
This thread is closed for comments
Top Comments
  • 11 Hide
    captaincharisma , April 27, 2009 5:03 PM
    Quote:
    backport, not just to vista, but XP!


    enough with XP already! its time to kill it
Other Comments
  • 9 Hide
    Anonymous , April 27, 2009 4:00 PM
    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!
  • 7 Hide
    gwellin , April 27, 2009 4:02 PM
    So better desktop graphics is great, but it would be better for me to see a large improvement in gaming graphic performance as well.
  • -6 Hide
    bustapr , April 27, 2009 4:04 PM
    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?
  • 4 Hide
    marokero , April 27, 2009 4:15 PM
    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.
  • 3 Hide
    deltatux , April 27, 2009 4:22 PM
    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.
  • 2 Hide
    downix , April 27, 2009 4:35 PM
    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.
  • -6 Hide
    tayb , April 27, 2009 4:41 PM
    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.
  • 4 Hide
    jsloan , April 27, 2009 4:56 PM
    sounds great, im moving to windows 7 rc as soon as it is made public.
  • -8 Hide
    rocket_sauce , April 27, 2009 5:00 PM
    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.
  • 11 Hide
    captaincharisma , April 27, 2009 5:03 PM
    Quote:
    backport, not just to vista, but XP!


    enough with XP already! its time to kill it
  • 8 Hide
    A Stoner , April 27, 2009 5:35 PM
    Ah, Microsoft is trying to win me over... This looks very promising for me, as I am highly multi-tasked.
  • 0 Hide
    jacobdrj , April 27, 2009 5:39 PM
    I agree with most peoples' comments about W2K. But I was a huge 98 supporter because of the speed and ease of repair. XP was slow initially. Not until SP2 was it usable. Hardware has caught up with it, and now it is where W2K was... And it has better networking functionality than 98 or W2K. Much like that, Vista has superior networking, and some other very nice functionality over XP, particularly regarding new tech and drivers. However, it lacks backwards compatibility and speed... In comes Windows 7! Joy and Hallelu... Built in XP, with hopefully driver support... That would be awesome. DOS should also be included. Virtualization is the way to go. Way to go on picking up the obvious finally Microsoft!
  • 2 Hide
    jerreece , April 27, 2009 6:00 PM
    Thank goodness M$ is finally doing this. It drives me absolutely nuts when my system freezes for a couple seconds when the CPU is sitting at like 10% usage. It just never made any sense to me. ;) 

    It'll be nice to have a system that runs much more smoothly at the desktop. Especially having a Quad Core with 4GB of RAM, GTX 260 Core 216, and I'm still wondering how it's possible to hang the GUI while simply opening FireFox or some other program.
  • 1 Hide
    JeBuSBrian , April 27, 2009 6:05 PM
    Marcus, proof-read!
  • 2 Hide
    Nossy , April 27, 2009 6:14 PM
    Win 7 should be free for all Vista owner. This will only slightly make up for the messed-up Vista experience.
  • 0 Hide
    jacobdrj , April 27, 2009 6:19 PM
    NossyWin 7 should be free for all Vista owner. This will only slightly make up for the messed-up Vista experience.

    Agreed.
  • 2 Hide
    AdamB5000 , April 27, 2009 6:19 PM
    I hate to jump the gun, but I'm almost anxious to buy and install 7 over XP on my main rig on opening day.

    .. almost. I'll wait at least a couple months and see what the overall feel is. :) 
  • 2 Hide
    mtyermom , April 27, 2009 6:27 PM
    I'm assuming this has been built into Win 7 all along, and not referring to a 'planned' feature. I have noticed Win 7 is all around more responsive and less apt to 'bog down', even under heavy multitasking. I have thoroughly enjoyed using this OS, it has improved my productivity over XP. I always have multiple firefox windows with several tabs each, Photoshop, Dreamweaver, Acrobat, FTP client, and IM client all running while I am working. The 'aero peek' helps me switch between my apps/tasks faster and more accurately, and with a quad core CPU with 4GB ram I never get the sluggish feeling I would in XP.
  • -8 Hide
    norbs , April 27, 2009 6:27 PM
    ZOMG something new besides a pretty GUI.
  • 1 Hide
    dark_lord69 , April 27, 2009 6:43 PM
    NICE! This has been a speed issue that many people have experienced it's good to see that MS is finally addressing this.
Display more comments