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

  • Andrew.a.cunningham - Saturday, March 10, 2012 - link

    I've seen that from a couple of other people... Not sure how I missed it. It's on a list of small updates I need to make to the article that I hope I can get to tomorrow.
  • Cardio - Saturday, March 10, 2012 - link

    I am running Win 8 CP on a new build Asus Z68, SB @4.7, a Mushkin Chronos SSD and a GTX 580.
    First I think this is an exceptionally well done review. It is an OS review not hardware. There is no reason to think that the OS will work differently on an AMD or an Intel anymore than win 7 did. I am pretty sure that MS knows there are AMD systems out there and is not going to release an OS that will not run properly on them, seems like that would be the best business plan. I, for one, see nothing wrong with Windows 8. It is faster than 7 and has been completely stable for me and compatible with everything I have tried with the sole exception of CPUZ and ASUS's multiple driver install program that sees it as an unknown OS. The drivers still install normally if done separately.
    It is different. Most of the complaints I hear are based just on that. Personally, I wouldn't want it if it wasn't different. If you don't want it don't buy it. If you don't want to do things in a different way you sure don't have to... Windows 7 is and will still be around. All this predictable ranting is the same as happened when DOS went away and every other OS change since. I have used Win 8 enough that the changes in use are now normal and you don't have to think about it. I'm sure before RTM and there after there will be more changes. Thanks for the very nice review. I can imagine what a job it was.
  • taltamir - Saturday, March 10, 2012 - link

    "Metro is here, and if you use Windows 8 you’ll have to come to terms with it."

    Then I wont be using windows 8.
  • eezip - Saturday, March 10, 2012 - link

    Am I the only one that has trouble with this? I can sign in at https://login.live.com/ and have no problems at all, so I figured that was the login info to use.

    I installed the Dev Preview when it was released and used a local account. But after recalling the Win8 blog post about Win Live ID syncing, I figured I'd try it before moving to the CP. So I went into the settings and selected "Switch to a Microsoft Account". Seems logical. But I was unable to log in again to the Dev Preview install. Arrrrgh!

    So, I clean installed the CP and tried using the Windows Live ID login info from the beginning. I got to the desktop, but the first time I restarted the computer, I couldn't log in. I had entered my phone number and hint info, but I never saw how to enter it. And the CP certainly didn't offer to help me when I was clearly struggling. Since I didn't have a local account, I reinstalled the CP using a local account, which brings me to today.

    Is my login at https://login.live.com/ the same login that I *should* be able to use for Win8? I can only assume that I'm doing something wrong, but I sure don't know what it might be.
  • InsaneScientist - Saturday, March 10, 2012 - link

    How long is your password?

    Try just the first 16 characters if it's longer than that.
    For whatever (REALLY STUPID) reason, it'll let you enter a password longer than that, but it only uses the first 16 as the actual password.
    (See my comment two below yours, and poke around on google. It's a known issue)

    If it's not longer than 16 characters... I have no idea.
  • b_wallach - Saturday, March 10, 2012 - link

    Well what is a in depth when there is nothing very in depth at all. With all the systems tested here it's really a drag that you can't dig up a AMD system and the one everyone wants to see is the BD line.
    Most people have seen enough to say if you wanted to do a run with the new OS it would be with this cpu because of all the guesses and some beta tests that showed a marked improvement with these cpu's.
    Running a bunch of lame Intel systems really makes it kind of a joke. If you did not have a good selection of different brands then why not delay it until you have enough systems to call it a in depth review instead of a who cares review. I'm sure most would say the intel's would do good and so nothing worth noting was done that would add to a lot of how much better will a radical cpu design work on it as everything points to this being a top of the list things people want to know about the new OS.
    With some win8 beta tests showing a 5-10% increase I'm sure everyone that has the new BD's has been waiting to see this one over any of the no real supprise Intel lines.
    As always it leaves a fairly large question mark about just what can expect from a site that has been less than honest about AMD for many years.
    It's only lately I've even come back here after what went on with bad reviews and very few when AMD first put out their first FX line that was better but trying to avoid the Intel inside ads all over and great praise for Intels horrible egg cooker cpu made me stop comming here for many years. I can't understand why anyone would not put AMD's new cpus right up front with Window's 8 so we can get a good amount of data over this hugely argued point all over the web.
    So no this was anything but a in depth review. It was a candy coated and/or we need to run a filler story to help the hit counter stay busy right???
    Before that Pentium 4 fiasco I came here a lot.
    After that I started looking at a lot of other sites where the useful data WAS useful. Intel knew what sites to throw a lot of money or inflence as they hit the top sites of the day, Tom's hardware was also doing the same line of crap and like this site I took a few years leave until they could earn back what little trust in them.
    I'm sure some other sites will get the AMD BD / Win 8 test done. I can't wait to see if all the flack about AMD and windows had merrit. If not I'll stick with Win 7.
    Sorry about being so glib, this IS a good site now, I just hate it when they don't pay much mind about what has been the top interest about windows 8 because AMD has a lot riding on how well their new cpu's will do with it. If it follows the beta tests it would move the AMD right up into the level of being a competitor as they are very close with current Intel cpus in some areas, even pass intel in quite a few other tests and if they see a 5 to 10% it would def. make AMD's cpu a contender. Not a top of the line one but it would put it where AMD wanted to see it run.
    Now that would alone make it a in depth review..
    It would even be a huge news item to run if AMD can do as well as the WIn8 beta reviews people might not bash it so much. AMD built this design for what could be a very sound call because a huge portion of computer users may or may not know is software is putting more demands, a lot of people run programs that can work very well in the multi-threaded apps as I have seen quite a few new ones use it and it will probably get more demanding use running 2-5 or more progs at the same time. AMD's new cpu does this part very very well.
    Oh well, it seems like me most wanted AMD scores because it is very important towards AMD's future if they can pull the scores that the beta revew saw.
    It can be compared to buying a upgraded cpu because new cpu's usually give this kind of increase from old cpu's scores and their new cpu's can do.
    Still, it's got a lot of potential once people start coding prog's to work well with new cpu designs. Intel hsa had to face this when a lot of their products acted even worse than the current AMD performance numbers.
    Even if I'm totally wrong about a details it's funny to read bad stuff about these cpu's. They do have some issues but for the most part they are still a very fast cpu and will run all software pretty darn fast.
  • Andrew.a.cunningham - Saturday, March 10, 2012 - link

    This was a feature review/preview, not so much a performance review/preview. We'll be measuring performance more thoroughly when we have the RTM build in a few months.
  • InsaneScientist - Saturday, March 10, 2012 - link

    Maybe because it's an indepth article on the OS itself and not so much a re-review of every piece of hardware released in the last 5 years to see how it'll run Win 8? Sound reasonable?

    And no, how bulldozer improves (or doesn't) ISN'T what everyone wants... what everyone wants is to know if they'll be able to use the new interface. Talk to anyone who has any experience with Win8 - Metro WILL come up (fast), bulldozer? - not so much.

    Oh, and as a side note, I can't speak for the initial release of the A64 vs P4 days, but I started coming here around the time the A64X2 and Pentium D came out, and I rather remember Anandtech calling it like it was... the performance was not too dissimilar, with the A64X2 having an advantage (sometimes a large one - occasionally a disadvantage), but the Pentium D needing and ungodly amount of power and heat to be competitive with it. They've always done a good job of calling it like it is! I've never understood where the claim that they're Intel biased comes from.

    Don't get me wrong, I also want to know if it's going to help (and I really hope it does), but it's just not that important. Mostly because CPUs - both Intel's and AMD's - are generally fast enough.
    To quote you: "[Bullzoder CPUs] do have some issues but for the most part they are still a very fast cpu and will run all software pretty darn fast."
    Yes! That's it exactly! They're fast enough that it's no longer critical to be looking at hardware performance with a new operating system. Instead, when we look at a new operating system, we want to see... well... that operating system.

    Furthermore, this isn't a final release. Software development develops features and then the feature set is locked and the codebase is optimized. So performance WILL change between now and RTM (and it would not be fair to AMD to test it now). Features, on the other hand are pretty close to final, so talking about those is fair game.

    On the issues that everyone is talking about (Metro, UI, and feature changes), Andrew et al. did an excellent job, and I applaud them for that.
  • InsaneScientist - Saturday, March 10, 2012 - link

    Have they done anything in the CP about that blasted 16 character limit on (live account linked) passwords?

    This is (in my opinion) by FAR the most egregious step backwards on Windows 8. Why on earth is there a limit on this? It's 2012 for crying out loud!

    And the need for an "All" option (which should be the default) in search from the start screen. I'm seriously considering skipping Win8 just because of this.
    I don't mind Metro much, it's not my favorite, but I can work with it... but why oh why did the search functionality have to take a step backwards after they got me hooked on it in Win7. :(
    I may be able to use it with the keyboard search shortcuts you mentioned, but that's not exactly a ringing endorsement.
  • MamiyaOtaru - Saturday, March 10, 2012 - link

    " 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."

    I don't think "preclude" means what you think it means

Log in

Don't have an account? Sign up now