DirectX 10

Visual changes aside, there are numerous changes under the hood of Vista, and for much of our audience, DirectX 10 will be the biggest of such changes. DirectX 10 has enjoyed an odd place recently in what amounts to computer mythology, as it has been in development for several years now while Microsoft has extended DirectX 9 to accommodate new technologies. Previously, Microsoft was doing pretty good at providing yearly updates to DirectX.

Unlike the previous iterations of DirectX, 10 will be launched in a different manner due to all the changes to the operating system needed to support it. Of greatest importance, DirectX 10 will be a Vista-only feature; Microsoft will not be backporting it to XP. DirectX 10 will not only include support for new hardware features, but relies on some significant changes Microsoft is making to how Windows treats GPUs and interfaces with them, requiring the clean break. This may pose a problem for users that want to upgrade their hardware without upgrading their OS. It is likely that driver support will allow for DX9 compatibility, while new feature support could easily be added through OpenGL caps, but the exact steps ATI and NVIDIA will take to keep everyone happy will have to unfold over time.

There seems to be some misunderstanding in the community that DX9 hardware will not run with DirectX 10 installed or with games designed using DirectX 10. It has been a while, but this transition (under Vista) will be no different to the end user than the transition to DirectX 8 and 9, where users with older DirectX 7 hardware could still install and play most DX 8/9 games, only without the pixel or vertex shaders. New games which use DirectX 10 under Vista while running on older DX9 hardware will be able to gracefully fall back to the proper level of support. We've only recently begun to see games come out that refuse to run on DX8 level hardware, and it isn't likely we will see DX10-only games for several more years. Upgrading to Vista and DX10 won't absolutely require a hardware upgrade. The benefit comes in the advanced features made possible.

While we'll have more on the new hardware features supported by DirectX 10 later this year, we can talk a bit about what we know now. DirectX 10 will be bringing support for a new type of shader, the geometry shader, which allows for the modification of triangles in the middle of rendering at certain stages. Microsoft will also be implementing some technology from the Xbox 360, enabling the practical use of unified shaders like we've seen on ATI's Xenos GPU for the 360. Although DirectX 10 compliance does not require unified hardware shaders, the driver interface will be unified. This should make things easier for software developers, while at the same time allowing hardware designers to approach things in the manner they see best. Pixel and vertex shading will also be receiving some upgrades under the Shader Model 4.0 banner.

Click to enlarge


DirectX 10 will also be implementing some significant optimizations to the API itself, as the continuous building of DirectX versions upon themselves along with CPU-intensive pre-rendering techniques such as z-culling and hidden surface removal has resulted in a fairly large overhead being put on the CPU. Using their developer tools, ATI has estimated that the total CPU utilization spent working directly on graphics rendering (including overhead) can approach 40% in some situations, which has resulted in some games being CPU limited solely due to this overhead. With these API changes, DX10 should remove a good deal of the overhead, and while it still means that there will be a significant amount of CPU time required for rendering (20% in ATI's case), the 20% savings can be used to ultimately render more or more complex frames. Unfortunately, these API changes will work in tandem with hardware changes to support them, so these benefits will only be available to DirectX 10 class hardware.

The bigger story at the moment with DirectX 10, however, is how it also forms the basis of Microsoft's changes to how Windows will treat and interface with GPUs. With current GPU designs and the associated treatment from the operating system, GPUs are treated as single-access devices; one application is effectively given sovereign access and control of the GPU's 3D capabilities at any given moment. To change which application is utilizing these resources, a very expensive context switch must take place that involves swapping out the resources of the first application for that of the second. This can be clearly seen today when Alt+Tabbing out of a resource intensive game, where it may take several seconds to go in and out of it, and is also part of the reason that some games simply don't allow you to Alt+Tab. Windowed rendering in turn solves some of this problem, but it incurs a very heavy performance hit in some situations, and is otherwise a less than ideal solution.

With the use of full 3D acceleration on the desktop now with Aero, the penalties become even more severe for these context switches, which has driven Microsoft to redesign DirectX and how it interfaces with the GPU. The result of this is a new group of interface standards, which Microsoft is calling the Windows Display Driver Model, which will replace the older XP Display Driver Model used under XP.

The primary change with the first iteration of the WDDM, which is what will be shipping with the release version of Vista, is that Microsoft is starting a multi-year plan to influence hardware design so that Windows can stop treating the GPU as a single-tasking device, and in the inevitable evolution of GPUs towards CPUs, the GPU will become a true multi-tasking device. WDDM 1.0 as a result is largely a clean break from the XP DDM; it is based on what current SM2.0+ GPUs can do, with the majority of the change being what the operating system can do to attempt multitasking and task scheduling with modern hardware. For the most part, the changes brought in WDDM 1.0 will go unnoticed by users, but it will be laying the groundwork for WDDM 2.0.

While Microsoft hasn't completely finalized WDDM 2.0 yet, what we do know at this point is that it will require a new generation of hardware, again likely the forthcoming DirectX 10 class hardware, that will be built from the ground up to multitask and handle true task scheduling. The most immediate benefit from this will be that context switches will be much cheaper, so applications utilizing APIs that work with WDDM2.0 will be able to switch in/out in much less time. The secondary benefit of this will be that when there are multiple applications running that want to use the full 3D features of the GPU, such as Aero and an application like Google Earth, that their performance will be improved due to the faster context switches; at the moment context switches mean that even in a perfectly split load neither application is getting nearly 50% of the GPU time (and thus fall short of their potential performance in a multitasking environment). Even further in the future will be WDDM 2.1, which will be implementing "immediate" context switching. A final benefit is that the operating system should now be able to make much better use of graphics memory, so it is conceivable that even lower-end GPUs with large amounts of memory will have a place in the world.

In the mean time, Microsoft's development of WDDM comes at a cost: NVIDIA and ATI are currently busy building and optimizing their drivers for WDDM 1.0. The result of this is that along with Vista already being a beta operating system, their beta display drivers are in a very early state, resulting in what we will see is very poor gaming performance at the moment.

The First Look, Continued User Account Control and Security
Comments Locked

75 Comments

View All Comments

  • Pirks - Friday, June 16, 2006 - link

    quote:

    OSX officially runs on x86 hardware, as long as it has an Apple logo on it. We did it to not have to worry about drivers and such. Yeah, as if you don't both have the same Intel chipset to support.
    Windows driver support and OSX driver support are quite different, in Windows you usually need a driver CD or download, while with OSX there almost nothing to do - plug the thing and enjoy it - hence the need for certified hardware - you need someone in charge of hardware approval to get that level of smoothness with hardware & other stuff. Apple can't provide this level of service IF they can't stamp their logo on something, while Windows can't provide this level of service BECAUSE they can't stamp their logo - feel the difference here :)) There's no such thing as "certified Windows hardware that you can just pop in and enjoy" - put all the WHQL/XP/MS logos on a Chinese card from newegg - and you still have to download and setup drivers yourself - which sounds like an insult for any Mac guy, hehe ;-)
  • Locutus465 - Friday, June 16, 2006 - link

    Not neccessarly... Hell, at work we started using signature pad software in conjunction with an active x control to provide digital signature functionality... I ordered a Topaz signature pad, it got to the office, plugged it in the USB and wouldn't you know it.... Windows found the device right away and it worked. To be fair, microsoft supports a huge number of the box... They just can't support all of it... Heck, I didn't even *need* to install any system drivers with vista, it found all my nForce4 devices and Gefore 7800GT just fine... I chose to becaues I'm guessing nVidia probably did a better job with thier drivers than microsoft did with their generic ones.
  • Pirks - Friday, June 16, 2006 - link

    quote:

    To be fair, microsoft supports a huge number out of the box. They just can't support all of it.
    This is what I'm talking about - noone can support everything out there out of the box but a MANAGEABLE subset of hardware, like most popular video/audio/TV/RAID and other cards - that's a piece of cake, and now you are right, Vista will support a lot out of the box but LATER maybe in a year or two a lot of new devices start to appear on the market that Vista will not support out of the box, and the problem is NOBODY cares whether user has to download a driver or something, nobody cares about setting up some automatic update site driven by MS and maybe some other big PC vendors together (joint MS/newegg site would be ubermegacool!) which says "IF YOU GET CERTIFIED HARDWARE FROM US IT'LL WORK MAC-STYLE" meaning that if this card has a special logo - you know you pop it in and nothing else - Windows automatically locates driver online and downloads/installs it - Mac OS X style. Just forget about this thing unless you get a Mac - somehow MS and other can't realize many users would love such a feature - very nice choice - if you're a pro - go to newegg and get nice cheap stuff and install it yourself, but if you're a noob - here's your WinHardware.com, get there, choose a card, order it, pop it in and just FORGET about everything else - no drivers no other sh1t to worry about - well, all AT/DT readers won't care about that, I know, but for noobs/general public I think that's a boon, all my Mac owning buddies LOVE that feature of Macs - hence it's a good idea to adopt something similar for Windows, don't you agree?
  • Locutus465 - Saturday, June 17, 2006 - link

    What you don't seem to realize is that Windows has such a feature called Windows update. Microsoft does continuously update their in house set of available drivers. The main thing is that Microsoft tends not to do as good a job optimising drivers for *performance*. What microsoft want's are good solid drivers that don't crash your system, as far as their conserned performance is a distant second. This is why most users in the know specifically tell Windows *not* to locate a driver for their new hardware (unless it's something simple like a USB/Firewire harddrive etc) and proceed to download drivers from the hardware manufacturers website.
  • Pirks - Saturday, June 17, 2006 - link

    quote:

    Windows has such a feature called Windows update
    Ever tried to install Audigy 2 or X-Fi on XP? Ever tried to pop in Nomad Zen in 2002 or so... rings any bells? Or not?

    Well, if not, here's an explanation for you - your Windows Update is just this - purely WINDOWS update, and nothing more - the problem is - Windows Update is not concerned with a lot of new hardware coming out (Nomad Zen back in 2002, X-Fi, many other examples), there's not even an idea of certifying the new piece of hardware and submitting drivers to Microsoft where they are put online with WHQL logo on them. See the difference? In Macs it's a rule - got a new fresh driver for Mac OS X for your card? Submit it to Apple NOW! In Windows? Who cares about this in Windows? Windows PC makers do not care whether their customer can or can not install drivers - here's your PC, bye now. You wanna install X-Fi? Well, you're on your own. Get a nerd or something. Yeah, this works, but why not to go one step further and do it like this - Creative makes new flashy X-Fi - IMMEDIATELY submits drivers to MS - MS quickly tests them and in a week or two there you go - you pop your new expensive X-Fi in your PC and MAGICCC!!! PC GOES ONLINE AND DOWNLOADS/INSTALLS DRIVERS ITSELF! Why? Because X-Fi has this logo "Just Works in XP". You wanna get third party hi-perf drivers and apps/tuning utils? No problemo - go get 'em. But if you're a noob and dont' know what a driver is - this is a boon.

    So far no enthusiast understood me when I mentioned this idea - and this is normal - enthusiasts do not need this kind of service. What is more interesting is why a major Home PC brand still doesn't have this kind of service. My guess this is because quality Home PCs come pre-assembled with all the drivers, but still - this service is an interesting approach to clone from Apple.

    After all Vista cloned a lot from Tiger - why not clone other things from Apple like this service?

    Will it hurt anyone?

    Or will it make PCs more noob friendly and hence better competitors for Macs which constantly boast this "Just works" attitude? I mean this is nothing major, this is just a little service - but this Dashboard and Expose and other things - they are also little services, if you think about it. Is Vista actively cloning this stuff? Sure it is, everybody loves eye-candy, Spotlight and stuff like that - so why would anyone NOT like this additional automatic hardware configuration service?

    I feel this is a thing of the future, and should appear sooner or later.

    Any other opinions on that?
  • Locutus465 - Saturday, June 17, 2006 - link

    Yes, but perhaps what you're missing is Microsoft will update their own in house drivers for hardware they consider essential to Windows functioning properly. The fact that microsoft doesn't try to control the PC market in the way Apple controls the Mac market has made the PC significantly more cost effective than Apples platform, while still allowing for a very high degree of innovation. The IBM PC has always been about economics, which is why no one (including IBM) could control it the way in which Apple controls the Mac platform. So apparently the answer to your question is yes and no.

    Yeah, there does need to be a service to update driver critical to the functioning of modern PC's automatically (in Microsoft's case, Windows Update). But no, in order to retain the economic's of the IBM clone market, there needs to be no such Apple like control over the market..
  • Pirks - Sunday, June 18, 2006 - link

    quote:

    But no, in order to retain the economic's of the IBM clone market, there needs to be no such Apple like control over the market.
    Excellent point - total Apple-like control of the hardware turns PC into Mac, which is obviously not what users need and want (excluding zealots, of course). However, my point was not about turning PC into Mac by introducing total hardware control over every PC out there, Apple-style, it was rather about creating a special BRAND of PC, obviously a Vista-based PC, which should retain best features of Vista and Mac from the point of view of a noob. This means: a Vista PC which has similar subset of applications as OS X Tiger, and which also behaves like a Mac when you pop a certified piece of hardware into it - it goes online and downloads/installs drivers quietly and user just enjoys the device without any thinking - it "just works".

    Naturally, there is no need at all to convert all PCs to that ideology, one brand would be enough. Who is the best candidate for that? Probably an alliance between Dell and MS, or something similar.

    I heard a lot of talk about Microsoft's iPod Killa coming out soon, not sure these aren't just baseless rumors but... let's imagine for a sec MS is going to try and kick Apple a little in DAP market - how'd they do that? Obviously by cloning and amplifying strengths of iPod. What are these? Tight integration and control of course, especially on Macs - on Mac the OS itself plus iTunes/iPod/iTMS work seamlessly together. Maybe MS can leverage some of that by creating its own PC brand (together with Dell would be the best) so that when there's someone thinking about bying a Mac just because it's so noob friendly, he/she can reconsider - hey, wait, don't buy a Mac - see, there's similar MS PC, which also accepts a subset of certified hardware, just like Mac and because of that is as easy and stable as a Mac - this is its strength, this is why it can compete with Macs on their turf.

    In other words, if Apple pushes personal computers as easy to use, utility devices, and if MS also kind of succeded with its console (which is also utility device - plug and enjoy) then, maybe, it's time to attack CORE Apple market - those utility PCs called Macs. MS has attacked Sony market with game console - why not attacking Apple market at some point by creating similar PC clone of Mac, which is also controlled by one company and hence easy and stable etc.

    Seems like a viable business idea to me, well meybe not at this point in time, maybe we should wait till Apple share of US home computer market grows to, say, 10 or 20% - but EVENTUALLY MS might be just FORCED to go Apple way - tight control over hardware and such - while leaving current free PC market intact of course - as I said it should be just another PC brand, nothing more.
  • stash - Friday, June 16, 2006 - link

    quote:

    6. Instead of asking for permission all the time, why not allow the control panel to open, then ask, then do not ask again when using anything in it?

    Because that is a nice gaping vulnerability.

    quote:

    7. Like mentioned, why make it so hard to hide the turn off button? Stupid.

    If you notice, there are two large buttons (sleep and lock) and a menu containing restart, logoff, shutdown, hibernate, etc. Sleep is a faster and more efficient method to shut off a computer, since it combines standby with hibernation. So machines will shut down much faster and startup nearly instantaneously, right where you left them. They will also use less power, since resuming from sleep uses far less power than a cold boot.

    quote:

    11. Usual Microsoft behavior: Change for the sake of change (that damn power button!)

    This is not MS's behavior at all. All of these things are tested extensively in useability studies by thousands of (non-Microsoft) users. The UX and UI changes in Vista are a result of these studies, not some artibrary decision.
  • JarredWalton - Friday, June 16, 2006 - link

    Sleep and standby are not "more efficient" as they continue to draw power. (If fact, even shutting down will still leave the PC drawing 5-10W on most desktops.) The best way to totally shut off a computer is to shut down Windows and unplug the PC (or turn off the PSU switch). If by more efficient you mean that it starts up faster, then yes, but that's really more convenient, not more efficient.
  • Locutus465 - Friday, June 16, 2006 - link

    So far, sleep doesn't start up my computer any faster than a cold boot with vista. In fact... Some times it doesn't start up my computer at all! I do like the general idea that you can put your computer into a sleep mode and still have it continue downloading data etc. Hopefully MS will get this worked out.

Log in

Don't have an account? Sign up now