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

  • skanskan - Wednesday, March 14, 2012 - link

    The task manager should also include a GPU resource monitor.
    It's been a long time since GPUs were introduced and we still need third party tools.
  • Oravendi - Wednesday, March 14, 2012 - link

    Linux has allowed for different GUI managers for a long time. Why would Microsoft not offer Metro as a desktop option? Metro is probably better for tablets and cell phones, however if Microsoft were to produce software with the ability to turn Metro off then Metro might have slow or no adoption. Microsoft sees the money. It doesn't want the problems of software like Linux. Answer, force us to Metro and claim the old windows users don't want to change.
  • Origin32 - Wednesday, March 14, 2012 - link

    The problem I have with Metro is not that it's different.
    It's that its different while not adding anything for me as a desktop user. Yes, I'm sure this new interface is much easier to navigate on a tablet, but with M/K I have to click more rather than less to open the more advanced menus, I have to use two user interfaces simultaneously and I have to start to unlearn 10 years of keyboard shortcuts, options locations and all the kinds of things you do automatically in win7. Using Windows 8 will be a whole lot of effort for me, and Microsoft isn't really giving me anything in return for that effort. If they'd added something actually useful like support for multiple user logons on a SAMBA share in one session, a sandbox mode to try out new programs in or really any functionality at all, then I'd have to live with Metro.

    Now all I get is a new GUI I sure didn't ask for.
  • jabber - Wednesday, March 14, 2012 - link

    This is it for me too. I just don't get what it is they are trying to sell me here with regards to Metro.

    I don't get it MS, Sorry.

    I've always upgraded my Windows versions due to improvements in performance, load times, functionality with new hardware and tech standards. Sure there are always a few UI changes but nothing that needs 5 minutes to get used to and on the whole they have been positive.

    But with Metro there just isn't enough in the deal to make me want to bother using it.

    I can get by fine without it. It isn't essential for those of us using desktops/laptops.
  • perpetualdark - Thursday, March 15, 2012 - link

    Quite simply, the home market and the professional market are no longer driven off of each other, and need to diverge. In the past, the professional market drove the PC industry, and the OS was a reflection of that.

    Home use has grown to be a viable entity on it's own however, and the proof of that is Apple's success in the PC market. People at home want a computer that is media based, and focused around entertainment. Movies, Music, Social Media, and Home Integration are the keys there. They want their media, and they want it everywhere (at the computer, the tv, the laptop, the phone, in bed, in the bathroom, and in the kitchen). They want to be connected to their social media all the time, and have everything integrated into that.

    Businesses don't need any of it, and it is all counterproductive to business. If anything, they want everything listed above to be GONE from the picture. Remove the games, the media, and the social aspects. Sharing needs to be tightly controlled, and the "cloud" is a fancy way of saying "security risk". Your boss doesn't want you listening to music, sharing it with others, or getting on facebook or skype to socialize, he wants you productive. Secure sharing of files, remote application use, tying together the office and the mobile workspace, communicating within the company and with the customers, and productive applications. It requires a COMPLETELY different interface because it has a completely different workflow.

    Windows 8 is, on the surface anyway, a HOME version of the software. It is MS's attempt to slow Apple down on the home front. But aside from desktop publishing and education, Apple is not even in the business place, and although I couldn't give you numbers, I am willing to bet that the business market is still at least half of the revenues that MS sees in a year.

    One more note: Look at Office. Millions of people knew all the ins and outs of Excel and Word, and then MS goes and changes the interface 100%. With NO way of going back. I resisted until recently, and after almost a year on office 2010, I hate it to this day. The ribbons suck, I can never find the things I am looking for, and they don't even have a basic paste function, they made it more complicated. Yeah, I can ctrl-v, but sometimes I want to right click and paste, not right click and hunt for the paste icon I am looking for. I hate icons. I want words. I speak english. If I want to paste special and choose to paste values, I want to right click, paste special, values, ok. I don't want right click and look for the icon that represents pasting values. I am literate, give me words, not icons that represent words. It is a disaster, and as a result, most companies still have Windows XP and Office 2003 installed. If it werent for so many viruses and malware targeting the weak security of XP, I would still have all my machines running on XP. I still run programs like Live Messenger in Vista mode so the icon goes in the tray and not on the bar. I don't understand why MS wants me to change so bad.. I don't want to change, I am more efficient the way I use it, so bugger off and leave me alone! I want my "up directory" button back, and I want the window button in excel back, so when I have 250 spreadsheets open (or even 2), I can switch without having to go to the right hand monitor and click on the excel icon and choose the window from there.. I just want to do it in excel. Come on, quit changing stuff just for the sake of changing..
  • shin0bi272 - Friday, March 16, 2012 - link

    no... just no. Stop talking about stuff you know very little about. It just makes you look bad.
  • Valahano - Friday, March 16, 2012 - link

    Care to elaborate?
  • slickr - Thursday, March 15, 2012 - link

    Good job Andrew. After years of reading this website you with this obvious piece of propaganda have forced me from this moment on to stop visiting this website.

    This shameless advertising for this Microsoft crap of a operating system that they call windows 8 is sickening. How much did they pay you?

    You people make me sick, at least be honest about it and write that you have been paid to write about their product in a positive way, I guarantee you people won't be too judgmental and will accept the fact that this website with its obvious bias for some time now has been loosing all its visitors and is forced to write propaganda articles for money!
  • Shinya - Thursday, March 15, 2012 - link

    So basically because he likes something that you don't (even though he heavily criticized it) your limited brain capacity calculated that he was paid?

    Please stick with apple products iTard. Your lord n savior is waiting over at engadget.
  • shin0bi272 - Friday, March 16, 2012 - link

    actually no hes right... if you look at what MS did with win8 its designed for tablets and they are violently forcing pc users to adapt the same gui that will be basically worthless to us and what does the author of this article say?

    "Yes, Metro is very different from what came before, and yes, Metro was clearly designed with touch in mind, but once you learn its tricks (and especially once you’ve got the new keyboard shortcuts dedicated to memory) it acquits itself as a flexible and powerful user interface."

    Sucking up much?

Log in

Don't have an account? Sign up now