VOGONS


First post, by ultra_code

User metadata
Rank Oldbie
Rank
Oldbie

Hello VOGONS members!

I have a question regarding backwards compatibility in DirectX. I had originally thought that DX7 supported all previous DX versions, DX8 support only DX6 and above, and that DX9 support only DX7 and above (don't ask where I got that idea 😀 ), but another VOGONS member pointed out that DX8 and 9 had no such limitations. Hence my question: do all DX versions up to DX9 support all DX versions before them, or is there a point where support for previous versions of DX was cut or limitations were imposed on support for previous versions?

To clarify, I am only referring to DirectX versions up to 9, and only DirectX under Windows 98 SE, not XP.

Thanks!

Builds
ttgwnt-6.png
kcxlg9-6.png

Reply 1 of 8, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

Some specific features are only supported by specific generations of video chipset. That's is why there's so much discussion of the Splinter Cell games in the dgVoodoo2 threads.

All hail the Great Capacitor Brand Finder

Reply 3 of 8, by swaaye

User metadata
Rank l33t++
Rank
l33t++

I think Splinter Cell uses specific NVidia features on GF3-7. XBox probably influenced that. Some OpenGL games like those from Bioware are like that too.

There are also some ATI specific features used in a few games. Truform for example.

And table fog and palettized textures are arguably connected to 3dfx cards even though they are Direct3D features. Other cards didn't support them well or at all in some cases.

Reply 4 of 8, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
swaaye wrote:

I think Splinter Cell uses specific NVidia features on GF3-7. XBox probably influenced that. Some OpenGL games like those from Bioware are like that too.

OpenGL was even more like this due to the stagnation of major feature releases (and proliferation of proprietary extensions) prior to ARB getting their act in gear.

the_ultra_code wrote:

So, what you are saying is that it really is up to the video card you use that dictates what DirectX versions are truly supported, not the DirectX version itself?

When it comes to Direct3D, a card needs to support the underlying technology in order to operate in the way required for game engines. So, you won't be running Crysis on a TNT2 (performance issues aside) because it doesn't support the required hardware features of newer versions of Direct3D.

Going the other way, some optional features from older versions of Direct3D have not been implemented on newer hardware, presumably because they weren't used enough to be worth it. Usually this results in effects being disabled or not looking 100% as intended but graphics otherwise being okay, but only for software which requires these optional features.

All hail the Great Capacitor Brand Finder

Reply 5 of 8, by ultra_code

User metadata
Rank Oldbie
Rank
Oldbie
gdjacobs wrote:

When it comes to Direct3D, a card needs to support the underlying technology in order to operate in the way required for game engines. So, you won't be running Crysis on a TNT2 (performance issues aside) because it doesn't support the required hardware features of newer versions of Direct3D.

Going the other way, some optional features from older versions of Direct3D have not been implemented on newer hardware, presumably because they weren't used enough to be worth it. Usually this results in effects being disabled or not looking 100% as intended but graphics otherwise being okay, but only for software which requires these optional features.

Bellissimo! Thanks! That's what I wanted to know.

And, by extension, it's okay to install, say, DirectX 9 in a Win98SE system with a DX7-capable card - it's just that the card still wouldn't be able to fully or even support at all DX8 and 9 games because it physically can't, correct?

Builds
ttgwnt-6.png
kcxlg9-6.png

Reply 6 of 8, by swaaye

User metadata
Rank l33t++
Rank
l33t++
the_ultra_code wrote:

And, by extension, it's okay to install, say, DirectX 9 in a Win98SE system with a DX7-capable card - it's just that the card still wouldn't be able to fully or even support at all DX8 and 9 games because it physically can't, correct?

For the most part yes. However, DirectX affects other components too. I've found a problem when using DirectX beyond 7.0a with Aureal Vortex 2 reference drivers beyond version 2015. Frequently Win98/Me will freeze if you try to load a game more than once without a reboot. There's a kernel / ddhelp error that sometimes comes up before the freeze. It is 100% repeatable.

So just to keep life simpler, I stay at DX 7.0a unless I want to play a game that needs something newer.

Reply 7 of 8, by ultra_code

User metadata
Rank Oldbie
Rank
Oldbie
swaaye wrote:

For the most part yes. However, DirectX affects other components too.

That's what I'm worried about happening for any given of my Windows 98 SE machines. But that's good to know.

swaaye wrote:

So just to keep life simpler, I stay at DX 7.0a unless I want to play a game that needs something newer.

Makes sense to me. 😀

Builds
ttgwnt-6.png
kcxlg9-6.png

Reply 8 of 8, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
swaaye wrote:

For the most part yes. However, DirectX affects other components too. I've found a problem when using DirectX beyond 7.0a with Aureal Vortex 2 reference drivers beyond version 2015. Frequently Win98/Me will freeze if you try to load a game more than once without a reboot. There's a kernel / ddhelp error that sometimes comes up before the freeze. It is 100% repeatable.

So just to keep life simpler, I stay at DX 7.0a unless I want to play a game that needs something newer.

Interesting. I'll have to check which driver version I have installed.

All hail the Great Capacitor Brand Finder