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

  • Squidward - Friday, June 16, 2006 - link

    Having beta tested Windows XP when it was released, I have to say that so far I'm not very impressed with Vista. Granted there is still quite some time before final release but even with RC1 of XP it was a rock solid stable OS that I used as my full time OS and never had any issues whatsoever (especially security cause no one was writing viruses and malware for it back then). Quite frankly I don't see how the beta 2 I've been looking at and the final polished out the door product is going to happen in 7 months for a Jan. launch. The real problem however lies in the fact that I know I will move up to Vista at some point, but not because it's a better OS than XP but that I'll be hindered by continuing to use an older operating system. I just haven't seen anything in it yet that made me go. "Now that's the kind of feature I've been needing!", and the few features that did make me feel that way were removed to be implemented 'at a later date'. Fancy graphical effects are nice and all, but they don't make an OS. As it stands in the betas the UAC feature is just a complete hinderance that to me seems to punish the end user because of security risks that are out there. The end user shouldn't get a pop up on every single application or item they open to be sure it's 'safe'. There are far better means of controlling permissions within an OS that would have made a lot more sense that what we have now with UAC. That being said, I believe in time and with Microsoft really listening to customer feedback they'll work out a lot of the kinks, but I won't consider purchasing Vista until they do... or force me to upgrade. :)


  • Pirks - Friday, June 16, 2006 - link

    quote:

    Granted there is still quite some time before final release but even with RC1 of XP it was a rock solid stable OS that I used as my full time OS and never had any issues whatsoever
    Besides this thing being early beta, also keep in mind that it's not a cosmetic chaneg akin to upgrade from W2k to XP or from OSX 10.3 to 10.4 - this is a major OS overhaul not too far from migration from 9x to NT, of course early beta of such a grand release will be total crap (at least for many people, but some others seem to enjoy it a lot). So, comparing this early beta release to XP release candidate is indeed pretty stupid. I don't even expect Vista release to be 100% usable out of the box, ESPECIALLY x64 version - Vista 64 will take another year or two to mature, get drivers/apps ready and such. And you should also keep in mind that MS is in a big hurry to avoid Apple to chop its balls off - some more delay and you'll see Apple market share well over 10% which is pretty dangerous to MS if they wanna keep enjoying their desktop x86 OS monopoly status. Hence MS does stuff quickly, cuts off features and will probably release something buggy just to avoid serious threat from Apple. Expect something usable only after SP1 and give it at least a year - in a meantime read some rumours about Leopard and salivate a little - that'll keep you going ;-))
    quote:

    The real problem however lies in the fact that I know I will move up to Vista at some point, but not because it's a better OS than XP but that I'll be hindered by continuing to use an older operating system.
    Yet another nice point - you think MS will sit still and let Leopard to chew its (MS's) private parts with impunity? I doubt that - MS will very likely release those nice sweet WinFS and other toys there were promising for years and integrate them in the next Vista release (I hope Leopard or whatever Mr. Jobs is up to isn't going to eat that for lunch - 'cause WinFS is the last hope for MS, really - DX10 won't count, too small a market it seems). So, in two years or maybe earlier you'll get those new sexy features you want, I believe... well, Apple could probably beat MS's ass here again, which is even more likely judging how well Apple devs were performing so far, so maybe you won't be interested in Vista at all - OS scene moves very fast - bang bang and u'r dead :) Especially now when Ballmer replaced BG - I'm worried, I don't quite trust Ballmer and Ozzie and others - ol' Bill was da man, not sure Vista survives w/o him when his archrival Jobs is only started to accelerate before real takeoff (Leopard?), but we'll see, we'll see...
    quote:

    There are far better means of controlling permissions within an OS that would have made a lot more sense that what we have now with UAC
    Oh, interesting, tell stupid us what is this "far better means of controlling permissions within an OS" instead of annoying ugly UAC, this must be something revolutionary and ingenious - maybe MS will pay you big bucks for that, who knows ;-))
  • ChronoReverse - Friday, June 16, 2006 - link

    You tested RC1 of XP. Release Candidate 1.


    This is BETA 2 of Vista. Maybe when they release RC1 of Vista you can compare again.
  • Frallan - Friday, June 16, 2006 - link

    Well i found 1 thing to be more interesting then the rest: Gaming Perfomance!!

    That means that at least til the games I want to play are DX10 combined with the fact that DX10 games get better results im going to stax with my XP.

    Sorry M$
    /F
  • Googer - Friday, June 16, 2006 - link

    There are so many versions and the feature sets will confuse most of us.

    Here is a screen shot from Paul Thurott's Win Super Site.

    http://pics.bbzzdd.com/users/Googer/Windows_Vista_...">Windows Vista Versions.
  • Ryan Smith - Friday, June 16, 2006 - link

    Keep in mind that that's an old chart. Small Business Edition no longer exists, and Professional is now Business Edition.
  • Googer - Saturday, June 17, 2006 - link

    Thanks forthe update. Here is the now silghtly out of date chart but still has some usefull information.

    http://www.winsupersite.com/showcase/winvista_edit...">http://www.winsupersite.com/showcase/winvista_edit...
  • slashbinslashbash - Friday, June 16, 2006 - link

    Page 8, "regulated" should be "relegated"
    Also in the same sentence, "Superfetc.h" (which might not be a typo)

    A 14-page article with 2 minor problems.... The quality ratio here at AT just kills DailyTech.... please impose AT quality control on DailyTech!
  • JarredWalton - Friday, June 16, 2006 - link

    Fixed - DT runs a lot of short, quick articles, and unfortunately that means they get more typos and errors. Anyway, since they are a separate entity, there's not much we can do. Feel free to post and tell them, though, but remember they're looking at probably 10X as many press releases as we do. LOL
  • DerekWilson - Friday, June 16, 2006 - link

    1) vista is perfectly capable of being a stable light weight desktop system (with some quirks) at the beta 2 stage ... but try to do anything fast or power hungry and you'd be better off sticking with xp until vista is released. right now, at beta 2, vista is a neat toy. don't try to use it for everything.

    2) after all the spit an polish dries, i will still prefer os x to vista

    3) final verdict? same as it ever was -- i'll be running vista for games and linux for programming. and since i've recently been bitten by the switch bug, os x for everything else.

Log in

Don't have an account? Sign up now