DirectX Take...er...Whatever...

It seems that the DX9/DX10/Vista issue is still causing much angst and confusion among the FlightSim devotees. I (and others) have attempted to explain the issues but with somewhat limited success. Well, I'll add one last word to all this (for now), then I need to get on to other things. I'll admit is a bit confusing since most DirectX upgrades in the past haven't been like this but it isn't rocket science.

Anyway, here's the deal, folks. Both DX9 and DX10 are APIs aimed at game developers. While under their covers they are quite different--so different that current hardware won't be able to support the new API--to the game they are not all *that* different. The game still has to manage devices, vertices, projection matrices, textures, etc.

Nonetheless there are differences (mostly improvements) that will require a seperate code path for DX10. The good news is that the graphics system in FS is already abstracted from DX. That means, for example, that the terrain system doesn't talk directly to DX. It talks to a abstraction layer that then talks to DX. So the minimum amount we would have to do is provide this new code path in the abstaction layer. That would allow existing system to run on DX10 instead of DX9.

But what would be the point of that? Unless the systems use techniques that assume DX10 and DX10 hardware the end user wouldn't see any difference. (Ignoring, of course, the better stability and multitasking support in DX10.) So to really take advantage of DX10 we'd need not only to plumb the abstraction layer we'd need to provide new abstractions that can target DX10 (along with the associated fallback logic to render *something* if the user runs the game on DX9). All this takes time--to plan, execute, iterate on, test, etc. It takes even more time if the only way you can see the final effect is to use the software rasterizer (since there is no DX10 hardware available). You think FS is a drain on your system? Let's talk rendering performance measured in seconds per frame!

So because we like, no LOVE, our customers and want as many of them as possible to be able to play as soon as FS hits the shelves we decided to hold off on DX10 work until we get some hardware. So if your neighbor works for ATI, Intel or nVidia, tell them you'll play your stereo REALLY LOUD until they get us reference boards! When we finally do get hardware we'll decide what to do about DX10. It might make it in the shipping product, it might not. If it doesn't I can't say (because I can't predict the future) when you'll see it in FS or what it will do once there.

Now, if you're still confused, here's what you do: STOP WORRYING! The early screenshots look great and we've only scratched the surface of what the new version will include. If you're thinking, "I'll hold off buying FSX until it supports DX10," go ahead. You can read about all the fun everybody else will be having!

(And, BTW, I was kidding about the stereo-playing thing. Be nice.)