Why are some games only DX9 or DX11 only? Wheres DX10?

AndroidVageta

Banned
Mar 22, 2008
2,421
0
0
Correct me if Im wrong, but it seems that some newer games are either one or the other with NO DX10 in between...like DiRT 2 and Alien vs. Predator being either DX9 or DX11 only.

What happened to DX10? I mean, we never really saw many games that have true DX10 support and now that OMG! theres like 2 DX11 cards out lets say fuck all yall with your old ancient DX10 and lets do DX11 only! I mean, I just dont get it...the new AvP just played the demo and DX9 looks like shyte atmospherically where DX11 looks awesome from screen shots...what is DX11 doing exactly that couldnt be done on DX10?

I know theres not only 2 DX11 cards out there but Im sure DX11 counts for like .5% of the video cards out there, if not less, whereas DX10 is used wayyy more according to Steams hard ware reports. A lot of people said DX10 didnt take off well because of Vista, which being a Vista lover (using W7 now of course) I can still understand...but Windows 7 can use DX10 as well, so why not use it now?

I hate that a lot of game features I cant utilize because I dont have DX11...I have 2 x 4890'S which is more performance for ANY game out there at max settings, so its not like DX10 is all old slow hardware...I just dont get it...
 
Last edited:

AndroidVageta

Banned
Mar 22, 2008
2,421
0
0
Yeah it was...and Ive read that a lot of people think that DX10 didnt really take off because people were scared/ignorant of Vista and most people didnt use it. But Im saying now that Windows 7 is out and its the holy grail of MS OS's that DX10 is now a more viable option...granted DX11 is new to Windows 7 does that mean that game developers are just dropping DX10 as a whole? Theres still plenty of use for it...and even more video cards that support DX10...it just seems backwards.
 

Udgnim

Diamond Member
Apr 16, 2008
3,662
104
106
edit: misunderstood post

I think the reason why there are no DX10 games is because I believe it's relatively easy to write a DX11 game and downgrade it to be compatible with DX9. the same can not be said about DX10. DX10 games were generally DX9 games that had DX10 features added in. writing a game with DX10 in mind and then downgrading it to DX9 takes a lot more resources than going from DX11 to DX9. bear in mind I'm not exactly sure what I just typed is true.
 
Last edited:

AndroidVageta

Banned
Mar 22, 2008
2,421
0
0
edit: misunderstood post

I think the reason why there are no DX10 games is because I believe it's relatively easy to write a DX11 game and downgrade it to be compatible with DX9. the same can not be said about DX10. DX10 games were generally DX9 games that had DX10 features added in. writing a game with DX10 in mind and then downgrading it to DX9 takes a lot more resources than going from DX11 to DX9. bear in mind I'm not exactly sure what I just typed is true.

According to your logic...if DX10 is DX9 with some things added...then could you not take out the things that make it DX10 and make it into a dx9 game? Especially with things like tessellation and all, it would, in my eyes, make DX11 more hard to program than DX10.
 

Udgnim

Diamond Member
Apr 16, 2008
3,662
104
106
According to your logic...if DX10 is DX9 with some things added...then could you not take out the things that make it DX10 and make it into a dx9 game? Especially with things like tessellation and all, it would, in my eyes, make DX11 more hard to program than DX10.

here you go: http://www.anandtech.com/video/showdoc.aspx?i=3507&p=8

With all of this - the ability to perform unordered memory accesses, multi-threading, tessellation, and the Compute Shader - DX11 is pretty aggressive. The complexity of the upgrade, however, is mitigated by the fact that this is nothing like the wholesale changes made in the move from DX9 to DX10: DX11 is really just a superset of DX10 in terms of features. This enables the ability for DX11 to run on down-level hardware (where DX11 specific features are not used), which when combined with the enhancements to HLSL with OOP and dynamic shader linking mean that developers should really have fewer qualms about moving from DX10 to DX11 than we saw with the transition from DX9. (Of course, that's nothing new: the first DX8 games shipped when DX9 was out, and it wasn't until DX10 that we saw a reasonable number of DX9 titles.)

To be fair, the OS upgrade requirement also threw a wrench in the gears. That won't be a problem this time, as Vista still sucks but will be getting DX11 support and Windows 7 looks like a better upgrade option for XP users than Vista. Developers who haven't already moved from DX9 may well skip DX10 altogether in favor of DX11 depending on the predicted ship dates of their titles; all signs point to DX11 as setting the time frame when we start to see the revolution promised with the move to DX10 take place. Developers have had time to familiarize themselves with the extended advantages of programmability offered by DX10, coding for DX11 will be much easier though OOP constructs and multi-threaded support, and if the features don't entice them, the ability to run on down-level hardware with a better coding environment might just seal the deal.
 

gorobei

Diamond Member
Jan 7, 2007
3,666
993
136
here's the understanding i got from the software developers at the original dx10 nv 8800 release.

first off,
numbers: Each gen of dx, 9 to 10 to 11, added to the gross number of things you can do. More memory addresses, more registers, more matrices, better texture file compression, etc. Some of the dx9 limitations were being felt as the number of color, spec, bump, env textures were increasing in size and palette depth.

features:
dx9 had color,spec,bump,env(fake reflection),lighting maps, and some limited post processing.
dx10 rebuilt the whole pipeline. And added instancing,vertex processing(displacement),ambientOcclusion(fake radiosity), and some other neat-but-unlikely-to-ever-be-used features.
dx11 adds to all the stuff already in dx10 [revised vertex processing, tesselation, gpu computing, and some other stuff i dont remember.]

But the real issue for the coders in dx9 was the shaders.
code: The normal developer had to hand code a shader out of some function calls, registers, etc to assemble a shader for reflections/spec/anisotropy/postprocessing/etc. With dx10 they had access to libraries of assembled shaders where they just had to drop in the names and connect the references. so from a workhours per man standpoint, dx10 was far superior. The problem was that none of the dx10 stuff was backwards compatible with dx9.
economics: If you made a dx10 game, you could only sell it to people who had dx10 cards and had vista. At the time this was around maybe 5% of the PC gaming consumer base. So to avoid cutting your target demographic to niche numbers whom you would have to charge $100 for the game, developers chose to make dx9 games with some additional code to allow dx10 to see some additional bits. The problem was that you had to write the code once for dx10(with all it's shortcuts and cut&paste libraries), then you had to re-write the code again in cludgy clumsy dx9. In effect you were making 2 games in the same amount of time and money that you would budget for 1 game. Also, there were no coders with solid experience in dx10, so everyone would have to figure it out as they went(i.e. be the beta testers/guinea pig). Most publishers said forget it, skipped dx10, and kept on making dx9 games. Part of the motive for this being that the consoles were dx9.

so as to the OP question.
No one made a pure dx10 game that took full advantage of the code, because there weren't enough people to sell to. The hardware kept getting faster but there was never any games to test and figure out where to improve the gpu architecture (aka nv g92 lasting almost 3 years). Now that w7 and vista have dx11, the only limitation is the number of dx11 cards out there. Eventually developers will move on to dx11. But as long as there are enough dx9 PCs and enough console players to make money off of, there will still be this fence straddling detent between those who have dx9 and dx11. And dx10 will sit in the purgatory between the two.
 

AndroidVageta

Banned
Mar 22, 2008
2,421
0
0
here's the understanding i got from the software developers at the original dx10 nv 8800 release.

first off,
numbers: Each gen of dx, 9 to 10 to 11, added to the gross number of things you can do. More memory addresses, more registers, more matrices, better texture file compression, etc. Some of the dx9 limitations were being felt as the number of color, spec, bump, env textures were increasing in size and palette depth.

features:
dx9 had color,spec,bump,env(fake reflection),lighting maps, and some limited post processing.
dx10 rebuilt the whole pipeline. And added instancing,vertex processing(displacement),ambientOcclusion(fake radiosity), and some other neat-but-unlikely-to-ever-be-used features.
dx11 adds to all the stuff already in dx10 [revised vertex processing, tesselation, gpu computing, and some other stuff i dont remember.]

But the real issue for the coders in dx9 was the shaders.
code: The normal developer had to hand code a shader out of some function calls, registers, etc to assemble a shader for reflections/spec/anisotropy/postprocessing/etc. With dx10 they had access to libraries of assembled shaders where they just had to drop in the names and connect the references. so from a workhours per man standpoint, dx10 was far superior. The problem was that none of the dx10 stuff was backwards compatible with dx9.
economics: If you made a dx10 game, you could only sell it to people who had dx10 cards and had vista. At the time this was around maybe 5% of the PC gaming consumer base. So to avoid cutting your target demographic to niche numbers whom you would have to charge $100 for the game, developers chose to make dx9 games with some additional code to allow dx10 to see some additional bits. The problem was that you had to write the code once for dx10(with all it's shortcuts and cut&paste libraries), then you had to re-write the code again in cludgy clumsy dx9. In effect you were making 2 games in the same amount of time and money that you would budget for 1 game. Also, there were no coders with solid experience in dx10, so everyone would have to figure it out as they went(i.e. be the beta testers/guinea pig). Most publishers said forget it, skipped dx10, and kept on making dx9 games. Part of the motive for this being that the consoles were dx9.

so as to the OP question.
No one made a pure dx10 game that took full advantage of the code, because there weren't enough people to sell to. The hardware kept getting faster but there was never any games to test and figure out where to improve the gpu architecture (aka nv g92 lasting almost 3 years). Now that w7 and vista have dx11, the only limitation is the number of dx11 cards out there. Eventually developers will move on to dx11. But as long as there are enough dx9 PCs and enough console players to make money off of, there will still be this fence straddling detent between those who have dx9 and dx11. And dx10 will sit in the purgatory between the two.

So basically what Im getting from your response is that:

A) DirectX9 games are still being made due to the console market...seeing as how all the hardware there is DX9 only.

B) New games are being DX11 because the newer generation of hardware supports it and its future ready.

Make sense...really does if put that way...but it just kind of ticks me off that my DX10 hardware is "basically" useless comparatively speaking. Will this cycle ever end? I see it becoming that once everyone (or the majority that counts) upgrades to DX11, DX12 will be out and DX11 owners will be left where I am now...
 

shortylickens

No Lifer
Jul 15, 2003
82,854
17,365
136

I'm gonna have to call a big shens on one part. We had ASSLOADS of DirectX 9 games before DX10 came out. DX9 is the longest running of the series. In fact the main reason they were so hot to get a new API made was people started complaining DirectX 9 was old and they wanted something new.
People always want new shit. Fuck them and their spoiled ways.

Wait, maybe this should go to P&N.
 

PingSpike

Lifer
Feb 25, 2004
21,730
561
126
Yeah, that line that there "weren't many DX9 games until DX10" didn't mesh with me. DX9 was around far longer then any previous iteration and as such the usual developer lag had completely disappeared by the time Vista came out. I mean, the nvidia FX series and ati 9000 series cards were DX9...by 2007 worrying about even having a DX8.1 path was sort of pointless.

Anyway: MS did not preserve compability with installed OSes with DX10 as they have done with all previous DX releases, which made developing for it a rather fruitless endeavor. This situation was amplified by the fact that the only operating system that could use DX10, Vista, was not particularly well received. Microsoft seemed to want to use DX10 as a feature to sell vista...in practice, I think they just killed DX10 adoption instead.
 

dguy6789

Diamond Member
Dec 9, 2002
8,558
3
76
DX10 ultimately flopped because of several reasons:

A. For a while, it was Vista exclusive and Vista wasn't very popular.
B. Nearly all games are designed for the consoles and then ported to PC later. The consoles have DX9 hardware.
C. Nvidia asked Microsoft very nicely(and Microsoft complied) to remove several features from DX10 and push them back to DX11(tessellation being one of them) because the cards they were ready to produce at the time were not compliant with the real DX10 standard. This made DX10 far less appealing and not as big of a jump over DX9 as it would have been.
 

Sureshot324

Diamond Member
Feb 4, 2003
3,370
0
71
If you have a DX10 card and Vista/W7, a DX11 game will look better than it would on a DX9 card. It will take advantage of the DX10 features, as DX11 is really just an advancement of DX10, wheras DX10 was a complete rebuild from the ground up.