Windows 7 & Directx9 ?

Started by
29 comments, last by undead 15 years, 1 month ago
Am I going to have to update my dx9 code (again) to some later version of DX to get it working with Windows 7? Does anyone know what dx version will ship with windows 7 and what backward compatability it will have?
Advertisement
it will ship with directx 10 or 10.1, which is backwards compatible with directx 9 so no worries.
even the latest SDK includes also the directx 9 development files apart from the directx 10 ones.
yet, another stupid signature..
Quote:Original post by a2ps
it will ship with directx 10 or 10.1, which is backwards compatible with directx 9 so no worries.
even the latest SDK includes also the directx 9 development files apart from the directx 10 ones.

Thanks. Otherwise I was thinking about switching to Ogre3D.
You might want to upgrade to D3D11, check the latest SDK, you'll see that it covers hardware range from D3D9 (different levels) to D3D11.
A single good API for all hardware and OS, that's rather nice.
[well only Vista & 7 ^^;]

(Look up D3D_FEATURE_LEVEL in the doc.)
-* So many things to do, so little time to spend. *-
Quote:Original post by Ingenu
A single good API for all hardware and OS, that's rather nice.
[well only Vista & 7 ^^;]

Exactly - no XP which means that DX 11 is rather useless. Why do M$ do this? I have to use dx9 because 99.9% of customers use it. In hindsight I should have gone with Ogre3D or OpenGL. Never mind.
Quote:Original post by flobadob
Quote:Original post by Ingenu
A single good API for all hardware and OS, that's rather nice.
[well only Vista & 7 ^^;]

Exactly - no XP which means that DX 11 is rather useless. Why do M$ do this? I have to use dx9 because 99.9% of customers use it. In hindsight I should have gone with Ogre3D or OpenGL. Never mind.
For the same reason that D3D11 isn't available on Windows 98. The driver model is completely different for D3D10 and D3D11, and it's not worth spending millions of dollars to include a new driver model in XP - which wasn't designed for it at all, so would have all sorts of driver problems. Not to mention the time and effort required for NVidia, ATI/AMD and Intel to produce D3D10 drivers for XP.

XP is a last generation platform; you can continue to use it if you like, but it'll be unsupported a few years before Vista will.
Well I think M$ should include an old driver model in windows 7 if that's what it takes. Them spending a few million dollars is much better than every company on the planet spending collectively much much more updating dx code every two dx versions. If M$ continue doing this they will drive people away. OpenGL doesn't have problems with 'driver models' (whatever they are) and Ogre3D is a wrapper around whatever you like so no problems there either.
Quote:
Well I think M$ should include an old driver model in windows 7 if that's what it takes. Them spending a few million dollars is much better than every company on the planet spending collectively much much more updating dx code every two dx versions.

The shift from 9 to 10 is a big one. From 10 to 11, less so. From 8 to 9, less so. Big shifts in APIs are a foregone conclusion that software developers are aware of. The practical software developers will weight the pros and cons and chose an appropriate path. In my experience, the upshot of this is that most studios will elect to remain on a 9 codebase since the attach rate for 10 and the extra features it provides are not worth the switch to a 10-only codebase and that the effort of maintaining both isn't practical. This is a transitory phase in the DX API, it is not the way that life has always been or will always be. Get over it.

Quote:
If M$ continue doing this they will drive people away.

This is unlikely; it's not as big a deal as you want to make it -- you seem to have a chip on your shoulder about Microsoft for some reason, but that doesn't constitute a logical argument. Hell, look at OpenGL. The 3.0 specification was supposed to engender some fundamental changes in the API -- similar in scope to the 9 -> 10 transition in D3D10. And when those changes didn't happen, there was an uproar. This is exactly the opposite of what you are suggesting would be the case.

Quote:
OpenGL doesn't have problems with 'driver models' (whatever they are)

No, but it has an equivalent class of versioning and feature compatibility issues in its use of extensions. They cause the same kinds of issues for developers, it's just that OpenGL's choice of solution to the problem of distinct feature sets does not involve the ARB modifying the OpenGL specification. Just because the number doesn't change doesn't mean a damned thing.

Quote:
Ogre3D is a wrapper around whatever you like so no problems there either.

Just because it wraps OpenGL and D3D doesn't make the problems go away. It just means you have to cope with them in a different form, or suffer the wrapper's choice of least-common-denominator. It may make things easier, certainly, but it doesn't make problems vanish.
Quote:Original post by flobadob
Well I think M$ should include an old driver model in windows 7 if that's what it takes. Them spending a few million dollars is much better than every company on the planet spending collectively much much more updating dx code every two dx versions. If M$ continue doing this they will drive people away. OpenGL doesn't have problems with 'driver models' (whatever they are) and Ogre3D is a wrapper around whatever you like so no problems there either.
As far as I know, D3D9 still works on Windows 7. D3D is supposed to be backwards compatible, eliminating D3D9 support would cause a huge number of applications to fail to work and would cause a massive support headache for Microsoft.

OpenGL gets around it because it has an utterly ridiculous mess of extensions. It's effectively D3D1, and everything above that you need to query for support for.

The driver model is the way that the OS interacts with the driver. The Vista driver model allows the GPU to be a shared resource rather than a one-application-at-a-time job. I don't know how OpenGL gets around things.

Ogre3D used D3D9 or OpenGL the last time I checked, I wouldn't be surprised if there's also D3D10 and D3D11 support in or coming soon too. You could use any of the other hundred graphics APIs that wrap D3D/OpenGL too.
*sigh*

Due diligence on your chosen technology is par of the course for any professional developer. Have a look into all those available, realise that Steve and Josh highlight that other API's also have other problems and weigh up all of these factors and pick whichever suits your criteria. It's how everyone else does it - be it a database vendor, a programming language, or a file format.

Maybe, just maybe, Microsoft and/or Direct3D are not the right choice for you. Unless you whine and rant about it in public no one's going to give you a hard time for choosing a more suitable platform for your product!


As of current the 10.1 API is by far the best choice for support and will very quickly get superceded by 11.0; the only caveat here is if you must still support XP.

From memory I think the DWM in Win7 is written in D3D 10.1 and uses 10-level-9's 9_1 (basically D3D9+SM2) feature set.


hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

This topic is closed to new replies.

Advertisement