The People Behind DirectX 10
ThinSkin writes "In the first of a three-part series covering the people behind the new DirectX 10, ExtremeTech interviews Microsoft's David Blythe and Chris Donahue to discuss the development, decisions, and future of the new API. They answer several questions such as how different it will be than DX9, why it will only be for Vista (and not for XP), and when we might be able to see it."
It better not be called "X11"...
In Soviet Washington the swamp drains you.
"questions such as how different it will be than DX9, why it will only be for Vista (and not for XP)"
Oh... I don't know... It couldn't be so people will buy vista.
Seems more like a bunch of pre-approved PR junk... Some sample 'questions':
A lot of people are complaining, "Oh, why won't we have DirectX 10 for Windows XP." There's a good technical explanation for that, where it's really not possible to do what DX10 does in the Windows XP driver model."
So if the decision had been made, "Yes, we're going to try to make all this work on XP," you'd really have to sort of hamstring DirectX 10. You'd have to say, "Then we can't do this, we can't do that..."
You could even see the graphics card having a big hand in doing some of the stuff that was traditionally done on the CPU. Things like collision detection, or calculating obscured geometry so you don't have to render it. You start to see a lot of flexibility in how developers can use both the geometry shader and the stream-out-to-memory function together.
Video is another area where you're starting to see the graphics card manufacturers doing a lot of fun stuff with their video processing using the power of the GPU. And you could see DX10, especially with the reduced overhead, enabling more powerful video processing on the graphics unit.
From the comments so far, it seems that people feel that Microsoft is somehow failing in a sacred duty by not making DirectX 10 available for Windows XP.
Why should Microsoft make DirectX 10 available for old versions of Windows? How many new video drivers released for Linux in 2006 support early 2.4.x kernels?
Sometimes making progress means saying "sorry, we don't support that; you'll have to upgrade to something newer".
Tarsnap: Online backups for the truly paranoid
Because the more lock-ins Microsoft has the harder it is for users to switch to alternatives.
Why have we had lawsuits about media-players and the like, while something like DirectX has been left alone? I mean, DirectX (or more precisely: Direct3D) is replacing OpenGL, especially in games. And DirectX runs only on Windows. Doesn't that mean that porting those games to other platforms would end up being very difficult, and if you wanted to play games on your PC, you practically needed Windows (well, that's true even today, but the reasons for that are elsewhere).
In short: authorities were concerned about Microsoft dominance in the web-browser market. And they have been worried about Mcirosoft dominance in the media-playback market. Yet they are not concerned about DirectX and the dominance it gives to Microsoft? How come?
Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
I mean really? What obligation are they under? You have a copy of an operating system that runs everything it's supposed to now and in the immediate future. There was nothing in the deal that said "Your copy of Windows XP will continue to support the bleeding edge games for 10 years after we release it".
Come on.
How many programs only run on Mac OSX and don't run on OS9?
I hardly see how a finger is being given at all here... and it's not like you haven't had fair warning that Vista is coming out.. hell it's late, late, late... so there's no big 'whoops I bought XP because I didn't know Vista was coming out'.
The main deal is that Vista will still run all the XP stuff, so you haven't had the 'finger' given to you for buying XP, because when you do upgrade to Vista down the track you won't have to upgrade all your software as well if you don't want to... that would be giving the finger... kinda like how Apple did with OSX not really supporting old OS9 programs.
Man, Microsoft can do no right by some people, no matter how hard they actually do try.
Why don't MSFT simple submit a proposal to extend OpenGL in a open way?
Why *should* they? And don't answer with some ideological doctrine, give a *practical* reason why Microsoft should do what you propose. DirectX has been wildly successful without any submissions to extend OpenGL.
-- "I never gave these stories much credence." - HAL 9000
Not true; see Kam VedBrat's comments on Vista and OpenGL support. To summarize, Microsoft will provide an OpenGL 1.4 implementation that sits on top of Direct3D, legacy (XP-era) OpenGL ICDs are supported but will disable Aero, and new OpenGL ICDs may be written that works with Aero.
I remember when Microsoft Windows NT 4 was released with its new in-kernel video drivers. Critics of OS/2 were saying how much better it would be than OS/2 which had the video drivers working in user mode - as DLLs loaded by Presentation Manager.
... but it rather limits the multitasking ability of the system turining it into a fancy DOS.
Sad truth, although it was easily demonstrated that DIVE was faster than DirectX on the same hardware, practically no games were ever written for OS/2 with people citing the critics.
Hopefully with the new driver model, they can address one of DirectX's big shortcomings which has existed since its beginnings - blitting graphics with an obscuring window intersecting it. With DIVE, the fps increases as there is less pixels to blit. DirectX the performance goes down as it makes heavy work with many more kernel-mode/user-mode transitions. Of course, to solve this, Windows games opted for full-screen mode so that there will be no obscuring frames above the window
When I used to play games, I rather enjoyed having the game run in a window next to my wordprocessor... Excellent for turn based games like Civilization.
No sig. Move along - nothing to see here.
Basically, DirectX is meant as an Interface between Windows and (Video) hardware. It says "if you call my function xxx, I will translate that to a certain call to the hardware". It is terribly easy to make DirectX 10 compatible with XP. You just take DirectX 9, add the new calls, and let them return "sorry, I cannot do that". Then game developers will simply add an option "activate advanced DirectX 10 features" to show off the cool stuff, but any XP user will still be able to play the game. So there is no good reason to exclude XP from the new games market, as Microsoft is trying to do.
Even better, they could (and IMHO should) open up the source code of DirectX. I am dead certain that an XP version of DirectX 10 would be created in days.
But of course, they have great MARKETING reasons why they will not do that. Yes, it is all marketing. The rest of the argumentation is blah.
What's keeping MS from backporting some of the new Longhorn kernel/driver niftiness to XP? Oh, right. Money. There's no money in adding new things to an already-sold product. It's all about selling the new hotness.
So, one of the first complains I read over here about Windows is how they have been carrying a legacy of compatibility from Win 3.11 days. Now, they try to simplify the platform (didnt Mac did that when going from OS9 to OSX?, and from PPC to Intel?) and everybody starts whining.
What is keeping Microsoft from backporting is the complexity it would yield, Windows XP is a mess, thats why they had to restart the development of Longhorn to a new model. They decided to throw away the compatilibity and improve the technology.
I do not know how good or bad will vista be, I use Fedora anyways, but I think there is just so much bullshit people can throw at Microsoft, IMHO they are *trying* to do something fine, for a change.
Ubuntu is an African word meaning 'I can't configure Debian'
Why argue with an external body dominated by guys from a different side of the industry (cad/cam) just to add some capabilities to your platform?
Many on Slashdot would say its to tighten M$'es dominance - true, but they are probably fed up with standards body bloat too - why let an idea slip due to bureaucracy at some working group when you can implement it now yourself and do the standards thing later when your customers FORCE you to.
Interestingly DirectX adoption seemed to accelerate after NVIDIA tightened its market share in the early part of this decade as 'custom' OpenGL render paths for 3dfx and others disappeared (as the hardware vendors did) in games and were replaced with DirectX 6/7 paths.
that DirectX 10 forces you to upgrade to Vista, because all the new shiny metal hardware like new GPUs will be made for DX10.
That may be true for the "usual" XF86/X.org driver, but the kernel module for accelerated NVIDIA cards is not a small module just to interface with the hardware.
Else I find it hard to explain that it is over 4MB in size...
(the typical driver module is typically a few tens of KB in size, up to a few hundred for very complex drivers)
Apparently you are new here.
The slashdot paradigm with respect to MS is that we(the FOSS geek community) are right, they are wrong. In the most extreme of cases (such as when MS does something correct) we are right, they are *trying*, but they are still ultimately evil.
Please don't get any hopes up just because you have been modded insightful. This is only a gesture, after which you are pretty much screwed. Kiss your karma goodbye.
Regards,
-F
The printing on game boxes that read "Requires Windows 95" "Requires Windows 98" and "Requires Windows XP" will soon have a brother. Big shock guys, there is going to be a "Requires Windows Vista"
Windows has more viruses because linux has more virus coders.
That's a noble sentiment, but what's likely to happen is game developers will stick with DX9 until the overwhelming majority of their customers switch to Vista (which could take a while), or they'll have to write their own DX9/DX10 abstraction layer. Either way it's a pain and the responsibility really should be Microsoft's for writing a compatibility layer for XP. DX10 should be a crossover model, not a throw everything out the window model (no pun intended). Perhaps by DX11 enough people would be using Vista to justify saying it should only run on Vista. Microsoft has been releasing more than one DX version per Windows version, so that's not an unfair way of looking at it. If anything, Microsoft will be hurting their developers and in fact chasing them toward other solutions like OpenGL for graphics and only using the bare necessities from DX for input, etc. DX was already limited to one (admittedly market majority) platform, but now it's narrowed to a single operating system? Personally I don't need user mode execution for my 3D shaders, thanks all the same.
Hardware accellerated desktop, display drivers that can restart themselves if they crash, less reboots to install new drivers, multiple hardware accellerated windows, virtual memory for video cards.
Obviously those are all features intended to overshadow the main new feature... DRM!
Sorry... sarcasm doesn't translate well over the internet...
You don't need to back it up. All you need is Microsoft and DRM in the same sentence to get +1 insightful.
Any graphics developer will tell you what a fine API DirectX is.
I've used them both, and while OpenGL isn't a slouch, DX is a lot easier to use (especially in the shader department). Supposedly OpenGL has even that under control nowadays, so it's just a matter of taste, really (and performance, Ati's OpenGL drivers are still buggy).
Did you actually read his post?
new OpenGL ICDs may be written that works with Aero.
That's the exact same situation that is in XP at the moment, graphics card manufacturers have an OpenGL ICD included in their drivers.
A lot of people here seem to be operating under a major misconeption.
DX10 is *not* a DX9 patch. Yet you're asking MS to make DX9 DX10 compatible?
Microsoft has *never* backported to an older product compatibility for a *new* anything. Ever. Tehy have in the past on occaision provided backwards comptibility in a *new* product, but they have *never* modified an *old* product to support a new model.
DX10 will simply *not* work in XP using XP's driver model. They would be forced to backport the driver model of Vista. This is an absurd expectation.
Does a new Linux kernel backport it's improvements to a previous kernel? Hell no.
This is amazing. I have *never* seen a group of people so blinded by their dislike of a company to expect them to do something *no-one* does.
Apple doesn't do it, Red-Hat doesn't do it, Blizzard doesn't do it, and you expect, no, DEMAND that Microsoft do it.
That's the wrong way to look at it. The DX guys are, in essence, acting as the negotiators between the game developers and the hardware manufacturers. The game dev folks tell the DX people what they'd like, in terms of feature set. The DX people then work with the hardware manufacturers to implement those features. It really does make a lot of sense. The game developers get what they need, in terms of feature set and APIs. The DX folks then get to work with the hardware manufacturers to ensure that the required capabilities are available and relatively consistent across hardware vendors.
why it will only be for Vista (and not for XP) is:
They need a compelling reason for people to buy the upgrade.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
That negotiation can be done with an ARB as well.
Uhuh. What's your point? In the case of DX, the designers are also acting as the ARB. So? Heck, that just further disputes the idea that "[the] glue is (ultimately) dictating to the materials what properties they must possess", since clearly they are dictating nothing, but rather working with hardware/software vendors to design an API which fits the needs of the game developers.