DirectX 9.0(a/b) vs DirectX9.0c

Started by
5 comments, last by NightCreature83 12 years, 11 months ago
Ok, so I work for a company that makes DirectX-based PC games in an industry that is very resistant to change. Basically up until now all games that we produce are being compiled using a DirectX SDK from 2002 (as far as I can see anyways). This means that it's probably "standard" DirectX 9.0 but best-case it's DirectX 9.0b (perhaps... Humour me!).

It should also be noted that all of our games are 2D and rely heavily on the ID3DXSprite class and related functions.


I'm a strong advocate that we should start using the latest SDK released by Microsoft to bring us somewhere close to up-to-date. However I'm having a very hard time convincing people that the change is worthwhile. So, my question is, does anyone know the major changes between DirectX 9.0 -> 9.0a -> 9.0b -> 9.0c? Is there any performance benefits in there for us? Any security issues? etc.

I've tried searching online for any information at all I can find, but I'm coming up dry. The only thing I remember seeing (but can't find now) was that the DirectX Font drawing had been improved substantially at some point, increasing performance a lot!?

Thanks,
Advertisement
From what I recall offhand, ID3DXSprite and ID3DXFont have much better performance, but the interfaces have also changed a bit (Not massively).

You could always grab the latest SDK and compare the interfaces in the documentation.

From what I recall offhand, ID3DXSprite and ID3DXFont have much better performance, but the interfaces have also changed a bit (Not massively).

You could always grab the latest SDK and compare the interfaces in the documentation.


Do you know of any source that states the ID3DXSprite performance increase, as I can't find a thing! (And I've got to show some sort of "proof" to back my claims up!)

[quote name='Evil Steve' timestamp='1304598224' post='4806867']
From what I recall offhand, ID3DXSprite and ID3DXFont have much better performance, but the interfaces have also changed a bit (Not massively).

You could always grab the latest SDK and compare the interfaces in the documentation.


Do you know of any source that states the ID3DXSprite performance increase, as I can't find a thing! (And I've got to show some sort of "proof" to back my claims up!)
[/quote]
One of the major changes is that 9.0c supports SM3.0 and you don't have to worry about the vendor specific SM2.0a and b versions if I remeber correctly.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max, Watch Dogs: Legion

The shader model changes are the main visible differences between the versions, but you can bet that there are also bugfixes, performance improvements, etc present.

One downside of going to a newer SDK release is that the D3DX libraries switched to being dynamically linked (some time I think in 2005), and each newer version brings newer D3DX DLLs with different names to the table. What this means is that your customers having to do a DirectX update may become necessary.

For that reason alone, and because you've mentioned resistance to change as an important factor, I would definitely advise against going to the latest version of the SDK. However I do think that you could usefully go to a version from about 2005/2006 and take advantage of at least some of those bugfixes, perf improvements and shader model changes.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

For that reason alone, and because you've mentioned resistance to change as an important factor, I would definitely advise against going to the latest version of the SDK. However I do think that you could usefully go to a version from about 2005/2006 and take advantage of at least some of those bugfixes, perf improvements and shader model changes.


So if the customers have a DirectX Re-distributable from say, a couple of years ago, and I build my game with the June 2010 SDK it might not work??



[quote name='mhagain' timestamp='1304606087' post='4806931']For that reason alone, and because you've mentioned resistance to change as an important factor, I would definitely advise against going to the latest version of the SDK. However I do think that you could usefully go to a version from about 2005/2006 and take advantage of at least some of those bugfixes, perf improvements and shader model changes.


So if the customers have a DirectX Re-distributable from say, a couple of years ago, and I build my game with the June 2010 SDK it might not work??



[/quote]

Yeah generally speaking it won't work unless you force them to install the DX redistributable which you shipped your game on. You are free to ship your game with this redistributable and force the install when your game is being installed.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max, Watch Dogs: Legion

This topic is closed to new replies.

Advertisement