Starting with Windows Vista, Microsoft began the first steps of what was to be a long campaign to change how Windows would interact with GPUs. XP, itself based on Windows 2000, used a driver model that predated the term “GPU” itself. While graphics rendering was near and dear to the Windows kernel for performance reasons, Windows still treated the video card as more of a peripheral than a processing device. And as time went on that peripheral model became increasingly bogged down as GPUs became more advanced in features, and more important altogether.

With Vista the GPU became a second-class device, behind only the CPU itself. Windows made significant use of the GPU from the moment you turned it on due to the GPU acceleration of Aero, and under the hood things were even more complex. At the API level Microsoft added Direct3D 10, a major shift in the graphics API that greatly simplified the process of handing work off to the GPU and at the same time exposed the programmability of GPUs like never before. Finally, at the lowest levels of the operating system Microsoft completely overhauled how Windows interacts with GPUs by implementing the Windows Display Driver Model (WDDM) 1.0, which is still the basis of how Windows interacts with modern GPUs.

One of the big goals of WDDM was that it would be extensible, so that Microsoft and GPU vendors could add features over time in a reasonable way. WDDM 1.0 brought sweeping changes that among other things took most GPU management away from games and put the OS in charge of it, greatly improving support for and the performance of running multiple 3D applications at once. In 2009, Windows 7 brought WDDM 1.1, which focused on reducing system memory usage by removing redundant data, and support for heterogeneous GPU configurations, a change that precluded modern iGPU + dGPU technologies such as NVIDIA’s Optimus. Finally, with Windows 8, Microsoft will be introducing the next iteration of WDDM, WDDM 1.2.

So what does WDDM 1.2 bring to the table? Besides underlying support for Direct3D 11.1 (more on that in a bit), it has several features that for the sake of brevity we’ll reduce to three major features. The first is power management, through a driver feature Microsoft calls DirectFlip. DirectFlip is a change in the Aero composition model that reduces the amount of memory bandwidth used when playing videos back in full screen and thereby reducing memory power consumption, as power consumption there has become a larger piece of total system power consumption in the age of GPU video decoders. At the same time WDDM 1.2 will also introduce a new overarching GPU power management model that will see video drivers work with the operating system to better utilize F-states and P-states to keep the GPU asleep more often.

The second major feature of WDDM 1.2 is GPU preemption. As of WDDM 1.1, applications effectively use a cooperative multitasking model to share the GPU; this model makes sharing the GPU entirely reliant on well-behaved applications and can break down in the face of complex GPU computing uses. With WDDM 1.2, Windows will be introducing a new pre-emptive multitasking model, which will have Windows preemptively switching out GPU tasks in order to ensure that every application gets its fair share of execution time and that the amount of time any application spends waiting for GPU access (access latency) is kept low. The latter is particularly important for a touch environment, where a high access latency can render a device unresponsive. Overall this is a shift that is very similar to how Windows itself evolved from Windows 3.1 to Windows 95, as Microsoft moved from a cooperative multitasking to a preemptive multitasking scheduling system for scheduling applications on the CPU.

The final major feature of WDDM 1.2 is improved fault tolerance, which goes hand in hand with GPU preemption. With WDDM 1.0 Microsoft introduced the GPU Timeout and Detection Recovery (TDR) mechanism, which caught the GPU if it hung and reset it, thereby providing a basic framework to keep GPU hangs from bringing down the entire system. TDR itself isn’t perfect however; the reset mechanism requires resetting the whole GPU, and given the use of cooperative multitasking, TDR cannot tell the difference between a hung application and one that is not yet ready to yield. To solve the former, Microsoft will be breaking down GPUs on a logical level – MS calls these GPU engines – with WDDM 1.2 being able to do a per-engine reset to fix the affected engine, rather than needing to reset the entire GPU. As for unyielding programs, this is largely solved as a consequence of pre-emption: unyielding programs can choose to opt-out of TDR so long as they make themselves capable of being quickly preempted, which will allow those programs full access to the GPU while not preventing the OS and other applications from using the GPU for their own needs. All of these features will be available for GPUs implementing WDDM 1.2.

And what will be implementing WDDM 1.2? While it’s still unclear at this time where SoC GPUs will stand, so far all Direct3D 11 compliant GPUs will be implementing WDDM 1.2 support; so this means the GeForce 400 series and better, the Radeon HD 5000 series and better, and the forthcoming Intel HD Graphics 4000 that will debut with Ivy Bridge later this year. This is consistent with how WDDM has been developed, which has been to target features that were added in previous generations of GPUs in order let a large hardware base build up before the software begins using it. WDDM 1.0 and 1.1 drivers and GPUs will still continue to work in Windows 8, they just won't support the new features in WDDM 1.2.

Direct3D 11.1

Now that we’ve had a chance to take a look at the underpinnings of Windows 8’s graphical stack, how will things be changing at the API layer? As many of our readers are well aware, Windows 8 will be introducing the next version of Direct3D, Direct3D 11.1. As the name implies, D3D 11.1 is a relatively minor update to Direct3D similar in scope to Direct3D 10.1 in 2008, and will focus on adding a few features to Direct3D rather than bringing in any kind of sweeping change.

So what can we look forward to in Direct3D 11.1? The biggest end user feature is going to be the formalization of Stereo 3D support into the D3D API. Currently S3D is achieved by either partially going around D3D to present a quad buffer to games and applications that directly support S3D, or in the case of driver/middleware enhancement manipulating the rendering process itself to get the desired results. Formalizing S3D won’t remove the need for middleware to enable S3D on games that choose not to implement it, but for games that do choose to directly implement it such as Deus Ex, it will now be possible to do this through Direct3D and to do so more easily.


AMD’s Radeon HD 7970: The First Direct3D 11.1 Compliant Video Card

The rest of the D3D11.1 feature set otherwise isn’t going to be nearly as visible, but it will still be important for various uses. Interoperability between graphics, video, and compute is going to be greatly improved, allowing video via Media Foundation to be sent through pixel and compute shaders, among other things. Meanwhile Target Independent Rasterization will provide high performance, high quality GPU based anti-aliasing for Direct2D, allowing rasterization to move from the CPU to the GPU. Elsewhere developers will be getting some new tools: some new buffer commands should give developers a few more tricks to work with, shader tracing will enable developers to better trace shader performance through Direct3D itself, and double precision (FP64) support will be coming to pixel shaders on hardware that has FP64 support, allowing developers to use higher precision shaders.

Many of these features should be available on existing Direct3D11 compliant GPUs in some manner, particularly S3D support. The only thing we’re aware of that absolutely requires new hardware support is Target Independent Rasterization; for that you will need the latest generation of GPUs such as the Radeon HD 7000 series, or as widely expected, the Kepler generation of GeForces.

Under the Hood: Networking Improvements and Drivers Metro Apps Overview: Mail, Calendar, Messaging, People, Photos, and Camera
Comments Locked

286 Comments

View All Comments

  • Sabresiberian - Sunday, March 11, 2012 - link

    I downloaded and installed Win 8 CP last night (on a second partition, for dual boot). I must say, my fears about how hideous Win 8 would be are gone. There are no changes that are insurmountable, or even really difficult to understand, though it takes a bit of getting used to at first - as anything new does.

    As far as looks - I was surprised to find the big squares on a solid background weren't as hideous as I thought they would be, but it hardly matters because you can pretty much live in the desktop environment, in which you can install whatever background you like, just as has always been the case with Windows. There are things you will want to do that will bring Metro up, but it was no problem for me once I monkeyed around a bit and found out what to do.

    There is a nice guide on MaximumPC for creating and installing Win 8 either dual boot or using Virtualization, if you are interested. Note: if you are installing on a RAID, you can't resize your partitions and create a new one from Vista (not sure about Win 7), you will need to use a third party app. I'll get back with the one I used, which worked nicely.

    MaximumPC has several other excellent articles about Win 8, and I recommend reading them. One article had a method for starting Win 8 in the desktop mode, not Metro, so it has less impact on your sense of beauty. (I haven't tried it.)

    Do yourself a huge favor and approach Win 8 with an open mind, and the knowledge that you WILL have to do some things differently - but it really will make sense in the end. Don't insist that things should work the old way, that just leads to frustration and deciding Win 8 is broken somehow; it is not.

    There are a couple of things I don't like, such as not being able to make the rectangles smaller (2 sizes only). It's a minor quibble though since I will hardly ever have Metro up. There's no changing the Metro background beyond some solid color changes with different textural artwork, but the shades chosen by Microsoft for background colors actually displayed nicely on my screen. I wasn't fond of some of the tile colors and didn't see a way to change them in my poking around, yet anyway. (I actually like the tile that you click - or touch, if you have the hardware - to bring up the desktop, which looks like a miniature version of the desktop complete with whatever cool background you have installed.) As I said though, the desktop can be prettied up just as Win 7 could, and that's what I'll have up when I'm doing something that isn't fullscreen (such as posting in this thread).

    Remember, too, that what we see in the Preview isn't set in stone and final; with enough constructive input, Microsoft could well change some things before release. I want to underline the "constructive" part of that, no one listens to flaming.

    Give it a shot yourself! If you have any room on your hard drive, it's not hard at all to set up dual boot.

    ;)
  • jabber - Sunday, March 11, 2012 - link

    Oh no doubt those of us that dont like will persevere because our jobs/careers depend on being able to support it going forward.

    However, I still feel that using Metro should be a choice.

    All it needs is an option for those that want to use Metro or have a touch enabled desktop PC (yes thats you Jeff in Florida, nice to see you) to enable it and those of us that just dont have the time, inclination or need to do real work to earn a living to carry on as we were.

    It's not like 8 is a total ground up clean sheet OS. Its just Windows 7 with this dog show assault course called Metro shoehorned into it.

    If it was all new then I'd be more inclined to embrace it as it wasn't going to be able to change.

    I'll change if I really have to due to real compelling reasons or benefits, that's life but not because some bum-fluffed faced developer at MS that's main daily IT work is typing tweets tells me to, simply on the justification that "it's cool"..
  • Sabresiberian - Sunday, March 11, 2012 - link

    The program I used to resize the existing partition (because I have 2 hard drives set up in a RAID 0 configuration and Vista's "Shrink" will only work properly with a single disk. It appears to work at first, but does not.) and create one for Win 8 is called "Partition Wizard 7" Very nice, and the Home Edition is completely free. Nice little video tutorials on the site if you need help.

    I've never done dual boot before, so I thought I'd add a note for others new to the system. Once Win 8 was installed, my computer didn't give me an option to start on the different logical drives like I thought it would when I pressed "F8" (may be "F12" or something else on your hardware); it booted normally, I saw the Win 8 stylized fish, and then a screen popped up to allow me to select which OS I wanted to boot. Selecting "Vista" instead got me a restart into Vista.

    Your computer might do something different, my mainboard is an Asus Rampage II Extreme, with Vista 64 Ultimate and now the Win 8 CP installed.

    ;)
  • klmccaughey - Sunday, March 11, 2012 - link

    Well I have had it installed for a few days now, and as a power user, multimonitor, DESKTOP user, I find it is all but unusable.

    The reason for having multiple monitors and desktops is to make use of that space.... SPATIALLY and not have all this crap getting in the way. It takes ages to find things you need to use, it is ANTI-productivity and a total DISASTER for business and power users.

    It's basically a very smooth running piece of shit (POS).

    Surely they could create a business version where we can continue to have a desktop and easy ways to jump from one activity to another.

    As it is you have a tablet interface that gets RIGHT IN THE WAY of trying to do what you want.

    How much money were Anand given not to give it a bad review is what I am wondering. You cannot seriously tell me people in business, programmers etc are going to be able to use this POS?
  • B3an - Sunday, March 11, 2012 - link

    Just STFU and go back to Windows 95 then.

    And oh no you have to learn new things with a new OS? Who would have thought!! Thats just shocking.

    It takes about an hour at most to learn the new stuff, then maybe a week to get used to it. After that... you dont have to learn it again! And you'll find that most things are actually FASTER to do if you use the new OS the way it's intended.
  • jabber - Sunday, March 11, 2012 - link

    Yeah you've never worked for a company with 10000+ staff have you? Ranging from Brandi in HR to Steve in Accounts etc.

    Corporations dont have that amount of time and productivity to lose to an OS designed to run fart apps and Angry Birds.

    It's a grown up world out there. It's not just about catering to skinny jeaned hipsters who only use Twitter and Facebook while sitting in Starbucks.

    Business as usual rules.
  • noname3 - Sunday, March 11, 2012 - link

    Nobody has problems learning new things; the only person with learning difficulties seems to be you, based on your language.

    Learning new OSes is something some of us do for a living, but to do so we need to be rewarded with increased productivity. Metro UI kills productivity and it sucks, you want to learn something useful, go learn foresting or something.
  • klmccaughey - Sunday, March 11, 2012 - link

    At a guess I would say I am able to learn substantially more than you would be able to. It is not a matter of learning something new, it is a matter of the interface, as is, getting in the way of productivity.

    I can see how it would be great on a tablet, but for me working it is a nightmare. Judging by the reaction worldwide it seems that other professionals are seeing the same iceberg.

    I like the spanglies, and I am delighted for MS that they have caught up in this respect. But someone has dropped the design ball when it comes to productivity and any vision of workflow for the average person.

    Hopefully there will be a bit of a rethink on the interface so that I can continue to program in Windows (tm) using "Windows", with easy access using mouse and screens. I want to upgrade, and I have spent hours enjoying Windows 8 on my tablet, but it isn't even close to usable for my day job. That is a real shame in my opinion.
  • Valahano - Friday, March 16, 2012 - link

    Judging from your other posts on this article, I take it that you are some kind of a big Metro zealot. It's very hip, congratulations.

    However, this does not change the fact that this new interface is a major step back in usability on a desktop for anything beyond viewing lolcat pictures.

    But don't worry, Win 8 is really great OS in at least one aspect - the Up button is back (Ctrl + Up still doesn't work though).
  • BehindEnemyLines - Sunday, March 11, 2012 - link

    I think it's still the same Windows with all the desktop. In a multimonitor environment, you can have all your screens to be the desktop. The Start Screen is nothing more than a fullscreen start menu, and I actually find it more useful. The primary monitor will always be the screen with the Start Screen, so you can just click on the Desktop tile and use the desktop as it has always been. You can also access all of the power user resources by right-clicking on the bottom-left corner hot spot.

    And for a multimonitor setup, I suggest that you offset your left & right monitors slightly away from the bottom-left and top-right corners. That solved most of my problems.

    I understand that businesses don't want to retrain employees, which is why all businesses should have an upgrade cycle and plan. Most businesses are NOT going to touch a new operating system at initial release. There's a ton of testing before deployment.

    I had initially the same reaction with Windows 7 superbar. I thought MS was insane to remove the names from the taskbar and replace with just icons. And yet, I was amazed how much BETTER it's once I've learned it. I am just saying most things in life require some learning.

Log in

Don't have an account? Sign up now