Getting Dirtier: Graphics

With the majority of the under the hood work focusing on graphics, there’s a lot to cover, so let’s get started.

Although it is being released for Vista too, Windows 7 marks the official introduction of Direct3D 11. As a superset of Direct3D 10.1, Direct3D 11 adds support for tessellation, multi-threaded rendering, and GPGPU abilities via the Compute Shader. We’ve already covered a great deal on Direct3D 11, so please see our introduction article on it for more details.

Next up we have the Windows Display Driver Model 1.1, which in turn is the lynchpin for several other graphics related features. WDDM 1.1 itself is not particularly impressive, but it’s what it allows that is. For all practical purposes, all we need to know about WDDM 1.1 is that it’s a minor revision of WDDM that requires DX10-class hardware (rather than DX9-class on WDDM 1.0) and as such allows the operating system additional features.

So what can you do with WDDM 1.1? For starters, you can significantly curtail memory usage for the Desktop Window Manager when it’s enabled for Aero. With the DWM enabled, every window is an uncompressed texture in order for it to be processed by the video card. The problem with this is that when it comes to windows drawn with Microsoft’s older GDI/GDI+ technology, the DWM needs two copies of the data – one on the video card for rendering purposes, and another copy in main memory for the DWM to work on. Because these textures are uncompressed, the amount of memory a single window takes is the product of its size, specifically: Width X Height x 4 bytes of color information.


Image courtesy Microsoft

Furthermore while a single window may not be too bad, additional windows compound this problem. In this case Microsoft lists the memory consumption of 15 1600x1200 windows at 109MB. This isn’t a problem for the video card, which has plenty of memory dedicated for the task, but for system memory it’s another issue since it’s eating into memory that could be used for something else. With WDDM 1.1, Microsoft has been able remove the copy of the texture from system memory and operate solely on the contents in video memory. As a result the memory consumption of Windows is immediately reduced, potentially by hundreds of megabytes.

What makes this even more interesting is how this was accomplished. With WinXP, GDI+ was partially accelerated, but this ability was lost to little fanfare when the DWM was introduced for Vista and thereby made GDI+ acceleration impossible, pushing all GDI work back to the CPU. This in turn is responsible for the need for a local copy of GDI and GDI+ windows and the increased memory usage of Vista, as reading data back from the video memory for the CPU to work on is too slow to be practical. The solution as it turns out is that by reintroducing GDI acceleration, the amount of read-backs can be minimized to the point that a local copy of the texture is no longer necessary. Now GDI isn’t completely accelerated, only the most common calls are, but this is enough that when the least common calls trigger a read-back, the performance hit is negligible.

This is one of the bigger changes in Windows to get memory consumption under control. The problem was particularly bad on netbooks and other systems with integrated graphics, as the video memory is the system memory, resulting in two copies of the texture being in the system memory (something such a machine probably has little of in the first place). The fact that this requires a DX10-class card with a WDDM 1.1 driver needs to be reinforced however – this won’t be of any help for systems with lesser GPUs, such as Atoms paired with the 945G chipset, as the GMA 950 GPU on that chipset is only DX9-class. NVIDIA, no doubt, is grinning from ear to ear on this one.

The other big trick as a result of WDDM 1.1 is that support for heterogeneous display drivers has returned. With WDDM 1.0 and its homogenous driver requirement, computers were limited to using video cards that would work with a single driver – in turn limiting a computer to video cards from a single vendor. With heterogeneous driver support, computers are once again free to use non-matching video cards, so long as they have a WDDM 1.1 driver. Besides that, this also is a boon for GPGPU use, as GPUs continue to interface with Windows via WDDM regardless of whether they’re actually displaying something or not. For example, this would allow NVIDIA to sell video cards as GPGPU processors to ATI owners, and vice versa.

WDDM 1.1 also brings a few lesser features to Windows 7. The DWM can now run in DX10 mode and new controls are introduced for aspect ratio scaling and controlling monitor modes.

Moving on from WDDM 1.1, Microsoft has also introduced some changes to GDI that do not require new display drivers. Along with requiring a local copy of window textures, the GDI stack was locked so that only a single GDI application could access it at a time. The GDI stack has been rebuilt so that the lock is more or less removed. Multiple GDI applications can now issue commands to it at the same time, and this is all pushed off to the video card to be its problem.



Images courtesy Microsoft

Unfortunately Microsoft has not provided us with any examples of this in action, so we’re not sure just what the real-world benefit is.

Next up, more DRM. Although we’re not entirely sure what has been changed, Microsoft has told us that they have made some changes with respect to DRM and GPU acceleration. Previously some applications playing DRMed content needed to switch to overlay mode to ensure the content was protected the entire way through. Likely this is a new low-level API for such functionality; Microsoft’s notes mention a standardized API for CPU to GPU encryption.

Last but not least, we have two new high-level graphics APIs in Windows 7. The first is Direct2D, the successor to GDI and a replacement for some Direct3D functionality. Like Direct3D, Direct2D is a fully hardware accelerated API, but it’s only for 2D operations. When Microsoft deprecated DirectDraw, the intention was for developers to use Direct3D for all of their 2D needs, but this never quite worked out as well as they intended. So now we have Direct2D, which gives developers a dedicated 2D API once again, along with a clear replacement for GDI.

Also introduced is an API specifically for text, DirectWrite. Where Direct2D works on 2D primitives, DirectWrite is responsible for the hardware anti-aliasing of text. NVIDIA sent us some documentation on the matter, and apparently the anti-aliasing method used (YDirection Antialiasing) can provide even better smoothing than ClearType can alone. It does not sound like any Windows components are currently using DirectWrite however.


Hardware font anti-aliasing in action. Image courtesy NVIDIA

We should note that while the “Direct” name implies these APIs are a part of DirectX, all of the material we have on the matter only mentions Windows 7. They may not be part of DirectX, in which case they would not be added to Vista as part of DirectX 11.

Getting Dirty: What’s Changing Under the Hood Windows Media : New Codecs, New Looks, New Features
Comments Locked

121 Comments

View All Comments

  • Bmadd - Wednesday, May 6, 2009 - link

    I see the graphs, i see the new features and i honestly cant be the only person who doesn't want to change from my Vista x64 install? Can i? i got a dual core and 4gig of ram, a dash of tweaks and moving the pagefile and everything loads within a second of running. I personally dont see how going from vista to 7 for me can be a thought when there gonna give me the only thing i care for in 7 and thats DirectX11 and the new aero features. Thanks MS
  • Sazar - Wednesday, May 6, 2009 - link

    Why not?

    It's free to use and try. If you don't like it, go back.

    I have switched both my HTPC and my main rig to Windows 7 simply because it is a more efficient way for me to work. The homegroups sharing features is miles better than the old, archaic sharing method and the new Media Center interface is fantastic.

    Also, Windows 7 loaded up all the drivers I needed by default, including both of my Hauppauge TV Tuner drivers and it just worked.

    I see a lot of naysayers nit-picking, which is fine. However, I have yet to see anyone point out anything meaningful that should disuade people from either using Vista or Windows 7.

    Btw, for me, the biggest selling feature, beyond the vastly improved 10 foot interface in MCE, was Aero Peak. Can't go back to Vista now without that functionality :)
  • Bmadd - Wednesday, May 6, 2009 - link

    Well i have never really used gadgets, widgets and such. There not for me like myspace and twitter aren't for me. I would hate to change to win7 after setting me vista install up so nicely only to not like it and have to spend time getting it back to the sleak thing it is at the moment.

    Perhaps i will download the RC and just keep it there till Win7 is released and drivers are all sweet, install RC on a new hard drive and go from there but i am fair to pleased with my current vista install to consider changing
  • papapapapapapapababy - Wednesday, May 6, 2009 - link

    not a single feature that i want or even care about. how about a good competent fast image viewer? more drm? giant icons? no classic ui? terrible. just give me a smaller, faster, stronger and more efficient xp or gtfo ms.
  • TonkaTuff - Wednesday, May 6, 2009 - link

    Microsoft should count themselves very lucky that Apple remains uninterested in being the OS for everyone and restrict themselves to the premium OS and hardware market.

    Yeah Snookie Im sure apple holds themseves back from over 90% of the O/S market based on there morals and lack of interest in making more money. What kind of deranged fanboy are you? Comments like the one above show how brainwashed some of you looney tunes are becoming.
    It really is scary and you should seek professional help.

    A comment in the article really hit the nail on the head,

    MANY PEOPLE SAY THEY HATE VISTA BUT FEW CAN ACTUALLY SAY WHAT THEY HATE ABOUT IT.

    Yeah Vista had issues when it first was released, it was a major step from the XP O/S but that was 2 bloody years ago. Ive been running Vista on my Gaming rig and my Work Laptop and a server/seed box and in 12 months I havnt had 1 crash that was the O/S's fault, Not one crash, not one BSOD, probably 4 or 5 freeze ups that had to be end tasked in 12 months on 3 systems numbering well over a 1000 hours of use, not even XP could claim to be that stable.

    Like any O/S it has its annoyances, they all do (yes snookie even your precious mac).

    Do I expect Win7 to be much different from Vista? No not really, I expect it will be a dressed up and refined version of Vista.

    Why would Microshaft do such a thing, they just want more money, why not release it as a service pack for Vista?
    BECAUSE THEY HAD TO CHANGE THE NAME AND MAKE IT OUT TO BE DIFFERENT FROM VISTA BACAUSE OF ALL THE LEMMINGS OUT THERE THAT HATE VISTA BUT DONT KNOW WHY THEY HATE IT!!!!!!!!!!!

    End of rant.......Snookie you sir are a sychotic applemac fanboi, get help for god sake.
  • squeezee - Wednesday, May 6, 2009 - link

    Microsoft has said to developers (at PDC at least) that Direct2D and DirectWrite along with the rest of DirectX 11 functionality will be available on windows Vista.
  • fendell - Wednesday, May 6, 2009 - link

    Has anyone tested Windows 7 and Ventrilo (any version) over some time?

    It's the only thing that keeps me on 64bit XP at the moment, because ventrilo has this weird behaviour on windows 7 where it suddenly doesnt recieve data for 2-5 minutes, then suddenly gets everything at once, this is veery frustrating and in fact raidbreaking in wow ;)
  • nycromes - Wednesday, May 6, 2009 - link

    I have also used Windows 7 RC for WoW raiding and have had no major issues. Ensure you are running it as an administrator. I had a few issues before doing that, but none like you are describing. I am using a USB microphone and a standard soundcard speaker combination with no issue.
  • vectorm12 - Wednesday, May 6, 2009 - link

    I use ventrilo for wow a couple of times per week, at times for hours without any issues on build 7077x64(correct me if I'm wrong, found on piratebay.org btw). However I do use a USB connected wireless Microsoft headset(looks like the 360 one but grey) which might have some impact as it works like a second soundcard.
  • snookie - Wednesday, May 6, 2009 - link

    If you think XP is the best OS ever then you haven't used very many. It is archaic.

    "The biggest news is that the Ultimate/Business/Home Premium schism has been resolved with Windows 7."

    This is a pretty amazing statement seeing as how it took a further paragraph to partly but not fully describe what all the versions are for.

    The Start Menu remains a horrible user interface designed by committee. Just awful.

    Windows 7! Now with even more DRM!!!

    UAC is an attempt to place responsibility for security too much on the user which is why it was so intrusive. A certain amount of user action is reasonable but UAC went far beyond that.

    WTF, why does IE 8 take up so much space with its headers? Seriously Microsoft do you have no idea at all about usability? Slapping a ribbon interface on a simple text processor is just dumb.

    Mail, Calendar, and Movie Maker might as well have been removed because they suck. But their removal points out even more how Microsoft needs its own version of iLife.

    ISO implementation is so Microsoft. Half-ass as usual.

    Why does Windows 7 need a disk defragmenter in 2009? No other modern OS does.

    Virtual Windows XP? Is this a joke? Probably won't run on older machines which is where it is needed most and even more headaches for desktop admins for configuration and administration.

    Why would you do performance testing on an SSD drive which very few desktop boxes have these days?

    Looks like Windows 7 will suck on laptops as much as Vista does. Not good news since so many notebooks are sold these days.

    My recommendation to Corporations is that for the 95% of users who need basic functionality they replace Windows entirely with a locked down Linux of some form. Many that I have worked with are considering this very thing and I have no doubt the Windows 7 will hasten this decision. XP requires far too intensive support ( yes i know your handbuilt game tower never has to be rebooted with XP, sure it doesn't).

    Microsoft should count themselves very lucky that Apple remains uninterested in being the OS for everyone and restrict themselves to the premium OS and hardware market and that an unrestricted Linux desktop is still to complicated for most users. more and more companies are providing their high end IT Architects and Developers with Macs and they are happily snapping them up. I have seen this at Cisco, Oracle, Motorola, and may others. When Visual Studio using .NET developers would rather use a VM on OS X t do their development there is something very wrong and I'm seeing a lot of that.

    The authors really do not understand the relationship between development tools, threads, the kernel, and processor usage.

Log in

Don't have an account? Sign up now