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

  • RavnosCC - Monday, March 12, 2012 - link

    Very annoying till I went through Microsoft Help and discovered I will not be able to "snap" apps with my standard 4:3, 1280x1024 screen. boo
  • fRESHOiL - Monday, March 12, 2012 - link

    This time around they added a great setting "Make Everything on my Screen Bigger".

    I didn't have to mess with loading my custom fonts, sizes, DPI, etc. to make my system visible from my couch on my 56" DLP. It did seem to make Metro Apps bigger but not desktop apps or the desktop experience.

    Also, I've gone through a ton of small media keyboards and none are as easy as my remote. Since Metro, and all tablet/phone OSes are more geared towards consuming media/data rather than creating it... not saying they can't, but they do better at consuming, I thought for sure they would have accepted windows remote control commands in all the Metro Apps, to my surprise not one does. Of course the arrow keys and OK/Enter key work, but Info, Back, etc have no function in Metro Apps. Just a few changes and Metro becomes the best 10' full OS ever, mainly that it needs to work with remotes. Also, Media Center hasn't changed at all... I think it could use a little Metro and hope it does get it in the final product.
  • lilmoe - Monday, March 12, 2012 - link

    I wonder how your video playback batter test would perform with well encoded HD videos with hardware-accelerated playback...

    I'm sure most of you guys know all about video encoding and decoding... GPU video decoding (my personal experience) consumes a LOT less power than software decoding done on the CPU. Yes, GPUs generally consume more power than the CPU, but it's a lot easier for the GPU to decode Full-HD videos than it is for the CPU (by an order of magnitude), also arguably more efficient.

    We all know that hardware-accelerated video players (MPC-HC and Windows Media Player included) support that feature. But you never mentioned if it was enabled in your setup. So I'm assuming you didn't use any sort of HW Acceleration, and therefore, you had 2 or more cores of your test setups running in each test for decoding the video while playing the videos.

    On my HP DV6 Core2Due T6400 laptop, properly encoded MP4 videos run with almost 0% of CPU utilization, and with the right codec (I use the FFDShow with DirectX Video Acceleration) even high profile MKV files run with 5-15% cpu utilization (otherwise 50-100% of CPU utilization. I use Windows Media Player since it doesn't utilize as much CPU power as MPC-HC.

    My laptop stays 2-2.5 hours on battery if i'm using software decoding, but lasts well above 3.5 hours with HW-Acceleration enabled... I wonder how that will affect your setup?
  • mutatio - Monday, March 12, 2012 - link

    I'm glad the reviewers found some redeeming qualities to the OS. All I can say is that I was not impressed with MS' mobile OS. It's strong in concept but just tacky in appearance, like some city traffic symbol maker was in charge of the design. Windows 8 does no better IMHO and this honestly looks like a crap sandwich waiting to blow up in MS' face. Serious? "It's very useful once you learn all of the 50+ new keyboard commands!" You have to be kidding me. I know you all are hardcore nerds here working at Anandtech but there is a reason W8 is getting slapped silly in the consumer oriented reviews. I saw a review the other day that quite literally said, "I enjoyed the review of Windows 8 so much I order a 21" iMac." Tempered indeed.
  • FuzzDad - Monday, March 12, 2012 - link

    No issues with SLI, my watercooling programs...my configs for gaming...the install went solid. I have a mouse locking problem with Logitech keyboards but there's a work-around until they fix it. I didn't like the interface at first (it isn't intuitive) but once you get to the point where you accept Metro=Start Button it all kinda makes sense. I think the GUI is snappy and smooth and it grows on you. I also think they're probably writing off Windows 8 for the desktop/business use...unless they throw the start button on there...and only after that would there be any talk of it going widespread on desktops that have not yet moved to Win7.

    I think their strategy is simply get back to a three-year release schedule and into the tablet space as quickly as they can. TBH...this OS is as good as Win7 w/new interface...if they had offered the start button as a hard-core option I think all the howling winds we hear now would have been a soft sea breeze.
  • jabber - Tuesday, March 13, 2012 - link

    ...who exactly is going to buy a Windows based Tablet?

    It's way too late surely? It's the Zune all over again.

    The Corp bosses will all have iPads so will be pushing to use them in their work surely? The iPhone through this method is now becoming the standard corp phone of choice at the cost of BB.

    MS isnt going to get a look in on this one.

    I am a Zune Mk1 owner, just in case.
  • lilmoe - Tuesday, March 13, 2012 - link

    you'll be surprised how many people there are who didn't go with the hype and rejected iPads and Android tablets just because they're not "Windows"....

    What's amazing about this release is the first impression i heard from lots of people who saw it on my laptop. Lots of them said the very same thing: "Wow, Windows now has *windows*! Everything is in front of me an I don't have to look for anything!"... i haven't noticed that myself, but surely, what they said was true.
  • jabber - Wednesday, March 14, 2012 - link

    "you'll be surprised how many people there are who didn't go with the hype and rejected iPads and Android tablets just because they're not "Windows"...."

    Well good luck to the three of you I say.
  • somedude1234 - Tuesday, March 13, 2012 - link

    Great article, the efforts of the whole team come through in the depth and quality of the report and I'm looking forward to reading the follow-up articles.

    I use Windows 7 every day to get real work done.

    I'd appreciate any feedback from the team (or other AT readers) on the following question: Will the UI enhancements in Windows 8 offer any benefit to me? Specifically, is there anything in Win8 that will help me be more productive in my daily use cases?

    On my multi-monitor primary workstation I have the Win7 start menu running vertically on the side of one of my monitors. I often have 3 "pages" on my taskbar of windows open between: outlook, word, excel, powerpoint, firefox, PDF files, text files, explorer windows, putty sessions, and skype or MSN chat windows.

    In other words, I am doing a lot of multi-tasking and waste a lot of time doing context switches as needed. Even with 2 or more monitors available, I never have enough screen real estate to have all of the various applications and windows open without ever needing to re-arrange all of the windows.

    Win7 provided marginal improvements over XP, I especially like the ability to quickly snap a window to the left or right half of a given monitor. I wish MS would have expanded on this to allow me to snap to the top and bottom halves as well.

    I've used a number of 3rd party applications over the years to enhance window management, but invariably they end up either being clunky, unstable or requiring so much additional effort to negate the goal of improving productivity.

    Does Windows 8 actually add anything to make window management better/easier/faster/more powerful for those of us that are really multi-tasking all day? Metro seems to be completely consumer focused, what about the professional users?
  • Th-z - Wednesday, March 14, 2012 - link

    I've tested it, I don't think you'll find improvement for your usage scenario. In fact it can actually slow you down because they remove Start button. If you want to launch normal desktop apps quickly, you basically have to pin them to taskbar from Metro UI, or use the same enabling-Quick Launch bar trick that people use when they went from XP/Vista to Win 7. There are also third party programs such as Start8 that can bring the Start button back.

    I find it ironic that people have to use third party program for basic functions to circumvent Microsoft's devolution in UI scheme or stubbornness. I have to use a third party program to enable hovering scrolling in different panes in Windows Explorer (it's still not there in Windows 8).

    There are so many ways they can improve desktop UI that I can list that would put OS X to shame, and you even suggest the horizontal snap that can improve desktop usage that many people would probably use. Unfortunately, they're too busy toying with Metro UI. I've always thought Microsoft is a company good at software engineering, but bad at user interface.

Log in

Don't have an account? Sign up now