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

  • Braden99 - Friday, March 9, 2012 - link

    I work with applications like Maya, Photoshop etc. and find my productivity has not been effected at all in Windows 8. Most of the complaints about Windows 8 are grossly exaggerated, by users who cannot easily adapt to change. MS needed to do something big to insure relevance into the future, prepare for new hybrid devices, and entice a new generation of users, and for the most part every feature of the old start screen is still present. The desktop still exists, and explorer has more features than ever. Those "power" users would have probably been using the keyboard to activate and search through start menu, and now they still can, with same number of key presses (yes a context switch, but only for a second, or as quick as you can type and press enter).

    That said I'm hoping for a lot of tweaks that improve the features and direction MS are already going in - That's what I'm focusing on my attention on.
  • ananduser - Friday, March 9, 2012 - link

    Fair review, impressed by Win8, don't care about GUI sensibilities, I never criticized any OS for subjective GUI peculiarities.

    Battery issues might also stem from lack of custom drivers that are the norm in laptop land. Anyway I might be wrong seeing as they should work in W8. Maybe they do but don't use W8's touted power saving features.

    Why always bring the subject of OSX price vs Win's price ? OSX is an upgrade, it has a requirement that you detain the previous version. Win is sold as a stand alone product(upgrade options exist as well). Now, ever thought about "you get what you pay for"(mac fans always love this phrase) ? W8 will bring out of the box built in hypervisor, storage spaces and incredibly huge hardware support(among many others). Also you can virtualize W8 in any VM. OSX lacks all that and has less hardware support, in fact has hardware restrictions. Bottom line Windows costs more because IT IS WORTH MORE.

    PS: Did you really need 2 imacs and a mba to test W8; one Apple PC wasn't enough ?
  • Braden99 - Friday, March 9, 2012 - link

    "but there’s still no way to use a different wallpaper for each desktop, something that OS X has supported forever"
    Actually you can in Windows 8. Go into Personalize>Click Desktop Background>Then you can right click pictures, and say set as monitor 1, or 2
  • Braden99 - Friday, March 9, 2012 - link

    "but there’s still no way to use a different wallpaper for each desktop, something that OS X has supported forever"
    Actually you can in Windows 8. Go into Personalize>Click Desktop Background>Then you can right click pictures, and say set as monitor 1, or 2
  • superPC - Friday, March 9, 2012 - link

    I see that most of you complains about the new start screen. well my father asked me to installed windows 8 on his laptop and he's much happier than he ever was with that laptop (it use to be a vista machine). it loads up in less than 40 seconds (not using SSD old core 2 duo machine with just 1 GB of RAM), shuts down in less than 30. it's super responsive and just plain fast (eventhough i've already installed all of his regular software suite). and he loves the new metro browser and apps. full screen apps looked lovely he said. he even likes metro because "it's more informative and searchable than the old start menus". honestly, windows is not aim at people like us the power user, it's aim at the rest of them: casual users. and if my dad, a 25 year veteran casual user of windows can live with metro than most of us obviously can too.
  • p05esto - Friday, March 9, 2012 - link

    That's great that it's dumbed down, but my question is WHY are you here on anaddtech? This is a site for real computer users who don't want it dumbed down.

    MS needs to allow advanced users to turn all the Metro crap off and use the OS just for launching their development apps. We don't want ANY of the crap found on the start screen or the hidden corners or whatever. I don't understand why MS is removing all customizability, it's been getting worse ever since Vista. Even in Office, why force the stupid ribbon, why not let power users use regular menus? I don't get why they force everybody to follow the same strict path. How hard can it be to allow people to bypass the metro start screen and put back the start menu with all their apps?

    Oh, and bring back the option to organize apps in the start menu into folders so I don't have to look through 50 apps to see all my graphic editing programs or video programs (I liked putting them into broad folders of apps). Win7 eliminated that possibility. And bring back the SMALL and condensed task menu of apps. In Win7/8 they use these large icons with too much space on the sides...why? I found a registry hack to make them smaller and compact, but why make the large and cumbersome task bar area thre default? It befuddles me.
  • smilingcrow - Friday, March 9, 2012 - link

    p05esto: “My question is WHY are you here on anaddtech? This is a site for real computer users who don't want it dumbed down.
    Oh, and bring back the option to organize apps in the start menu into folders so I don't have to look through 50 apps to see all my graphic editing programs or video programs (I liked putting them into broad folders of apps). Win7 eliminated that possibility.”

    Win7 does allow you to organize your apps into folders on the start menu (after you click on All Programs) but it is not as simple as with previous versions. As you are a ‘real computer user’ I will allow you to find that info for yourself; which will be easy now that you know that it is possible which is the hardest info to get.
  • bigboxes - Friday, March 9, 2012 - link

    Right-click task bar -> Properties -> Task bar tab -> check "Use small icons"
  • freedom4556 - Friday, March 9, 2012 - link

    Most of the improvements your dad talked about could be attributable to simply clean re-installing an old Vista install and then running updates. The switch to seven would likely have had a similar effect on performance.
  • Sabresiberian - Friday, March 9, 2012 - link

    An operating system, particularly one as ubiquitous as Windows, should appeal to ALL users, not just the lowest common denominator.

    There is a difference between making things easier to use for the non-technical person and dumbing down, and sometimes Microsoft loses sight of that.

    Reading this article, I don't think Win 8 is necessarily "dumbed down" in it's interface, but I'm not entirely convinced. I do know, I'm not going to live with an OS that requires me to interface with it through big squares on a solid-color background.

    I have a lot of trouble understanding why I would want to buy an "app" to begin with, since many of them seem to be nothing more than bookmarks. I seem to have been able to do without them for all the time I've used computers to now, I don't see why using a smart phone or tablet requires them, or even makes those devices better. I don't understand why we can't just have icons like the previous versions of Windows that we can touch to activate, if we want to activate them by touch and have the hardware capability.

    This article has allayed some of my fears, and there is clearly enough reason to update from Vista to Win 8 on my next build, providing I can get rid of the yugly (yugly: you'-glee, as in "so ugly it's beyond ugly, it's yugly") interface. My second computer uses Win 7, and I'll have to be very impressed with Win 8 to switch from it when I rebuild a second computer.

    Most people in the world that interface with computers are not technically inclined; many of them aren't all that capable in any case. It's good for these things to be easy enough to use that most everyone can use them, just please, please don't penalize ME in the process.

    It will take a lot for me to give up DirectX, but I would do it, if it becomes necessary.

    ;)

Log in

Don't have an account? Sign up now