Jump to content
  • Advertisement
Sign in to follow this  
LHLaurini

Do game developers still have any reason to support Direct3D 10 cards?

This topic is 970 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've lately been a little surprised that many new games (AAA and Indie) now require a Direct3D 11 card. Some examples: (these are the games that I first found or thought about)

Of course, that's 7 years of graphics cards right there. But why would game developers decide not to support Direct3D 10 cards anymore? Is it because most D3D10 cards don't have enough horsepower? Is it because it's not worth spending time just to support 10 year old GPUs? I do know you would need to replace stuff to keep D3D10 support, but still.

 

Not supporting Direct3D 9 cards is pretty understandable. I mean, come on, just take a look at the 10Level9 ID3D11Device Methods page at MSDN for example. Supporting D3D9 seems a pain in the A to me.

 

Of course, don't get me wrong, I'm not mad at anyone. I'm also a game developer in my spare time. I'm just wondering what reasons they have to do that. What would you do (assuming you're a game developer)? What reasons do you think they'd have to do such thing? What are your thoughts about all this? Do game developers still have any reason to support Direct3D 10 cards?

Edited by LHLaurini

Share this post


Link to post
Share on other sites
Advertisement

It's probably some combination of:

 

- The Xbox One and PS4 use D3D11 hardware, so for a cross platform game it makes sense to use the same feature set on all platforms.

 

- It would add more work to target D3D10 cards (which are missing some handy features that D3D11 has, especially if they are 10.0 instead of 10.1). Compute shader limitations spring to mind as an obvious example.

 

- D3D10 cards are older and therefore slower, for some games they wouldn't be fast enough even if they were supported.

 

- According to http://store.steampowered.com/hwsurvey only about 15% of Steam users have a DX10 capable PC, 85% are DX11 or better. Looking at the list of DX10 GPUs people have is also informative.

Share this post


Link to post
Share on other sites

Since in Ogre 2.1 we aim to support both DX10 & DX11 hardware, I've gotta say DX10 hardware's DirectCompute limitations are currently giving me a big PITA.

AMD's Radeon HD 2000-4000 hardware didn't even get a driver upgrade to support DirectCompute. So even if you limit yourself to the structured buffers available to DX10 hardware, these cards won't even run these compute shaders (despite the hardware being completely capable of doing so). I don't know what about Intel DX10 GPUs, but I suspect it's the same deal.

 

AFAIK only NVIDIA DX10 GPUs got the upgrade.

Edited by Matias Goldberg

Share this post


Link to post
Share on other sites

I'd say D3D9 lasted for a good while because of D3D9/GL2 level hardware on consoles. So will D3D11.x for the same reasons.

 

D3D10 is unfortunate enough that didn't matched any hardware present in the console generation at the time.

Share this post


Link to post
Share on other sites
As has been said, D3D10 kind of falls into a donut-hole of uselessness -- you want to support D3D11 for sure, you probably want to support new APIs like Vulkan and D3D12 for improved performance, but if your target market demands even more sparten hardware support, you probably want to go all the way back to D3D9.

In some parts of the world there are still a lot if WindowsXP machines, which don't support D3D10. 10's only claims to fame are the fact that it was the best Windows Vista could do, and it introduced compute shaders but IIRC they were pretty limited. Between precious-little advantage over 9 and an even smaller OS market share, there's just no point.


For me, I'm looking at D3D12 for Windows UWP-packaged versions, and Mantle/Metal for versions packaged for the traditional desktop environments on Windows/Linux/OSX, with probably D3D10ish-level openGL as a fallback. I'm not even sure supporting D3D12 in the desktop-style version, or D3D11 at all is worth adding them to the support and testing matrix -- I'm inclined to leave them out.

Share this post


Link to post
Share on other sites

Are compute shaders supported on DX10 cards?

Yes, but... with a massive amount of restrictions, which make them about as powerful as pixel shaders running on a quad.

Real compute shader support comes with feature-level-11.

 

So yep, if newer games/engines implement a lot of their game/renderer using compute, then that code will run fine on PS4/Xbone/D3D11-level-PC's... but won't run on D3D10-level PC's. The dev then has to ask themselves: "Is writing a whole new renderer just to support D3D10-level-GPU's worth the extra market share that we'll get?", and I'm guessing a lot of the time, the answer is "no".

Share this post


Link to post
Share on other sites

Thank you very much to everyone who answered.
 

As has been said, D3D10 kind of falls into a donut-hole of uselessness

Yeah, that's the problem. D3D10 didn't introduce many useful features and D3D11 came only three years after.

 

Honestly I don't recall there being much developer support for Direct3D 10 when it was NEW, much less after Direct3D 11 came out.

When it was new there were some games that used it for more fancy features, like Bioshock: (there are the settings I use: Bioshock is pretty lightweight)

[attachment=30635:2016-02-14_00001.jpg]

 

Then D3D11 came out, but devs still wanted to support D3D9, so they required D3D10 only for some features. Here, Saints Row: the Third: (these are not my settings)

[attachment=30636:2016-02-14_00001 (2).jpg]

 

Are compute shaders supported on DX10 cards?

I'm pretty sure it's optional, which really sucks.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!