I just started learning DirectX, but I have a problem with its version. I have ATI Radeon HD 4830, this card supports only DirectX 10.1, but when I ran dxdiag it said that I have DirectX 11, then I realized its probably talking about what version does the OS(Windows 7) support.

Now, I just ran some DirectX 11 benchmark and it worked. Does it mean that my graphics card is capable of running DX11 or it just runs in DX 10.1?

I want to know this, because I don't know what version of DX should I use for programming. I'd like to use DX 11 because of shaders, but don't know whether it's safe. If it's not I'd rather use DX9 with shaders, because I heard that DX 10 is buggy and I should use DX9 rather then 10, if DX 11 not available.

Or does DX 11 support older versions itself, so I can use DX 11 headers but limit myself to older features?

So what is your opinion? Should I use DX 11(code compiles, but I am not sure whether my card supports it), or DX 9?

Thanks in advance.


1 Answer 1


You can target older graphics cards (as far back as Direct3D 9 era) via the use of feature levels while using the Direct3D 11 API, yes. While I haven't heard Direct3D 10 called "buggy", I'd argue Direct3D 11 tends to be just all around better with various minor improvements to the API... with little to no reason to prefer 10 over 11. As a final note, Direct3D 11 requires Vista SP2 or later.

  • \$\begingroup\$ Ok thank you for your answer. What would you use, then? DX 10, DX 11, or just use DX 9 to make sure everything will work on older hardware and use shaders instead of fixed pipeline? Thank you again. \$\endgroup\$
    – michy04
    Commented Jan 20, 2013 at 10:19
  • \$\begingroup\$ Ok, I'm satisfied with this answer, so I'm going to mark it as the answer. \$\endgroup\$
    – michy04
    Commented Jan 20, 2013 at 10:55
  • 2
    \$\begingroup\$ I'd generally go with whichever I was more familiar with. D3D9 will let you target older systems, but D3D11 exposes more features of modern hardware, generally maps better to it, and lets you write "Modern UI Style" Windows 8 apps (strictly speaking using D3D11.1, whereas 9 is unsupported at best there.) If you absolutely need a tiebreaker as you have no preference for any of the above, D3D11 will put you in a better position going forward to pick up e.g. D3D12+ whenever those come about, whereas 9 will become less and less relevant. \$\endgroup\$ Commented Jan 20, 2013 at 11:15
  • \$\begingroup\$ Well, thank you once again. This seems like a pretty good reason to choose D3D11 over D3D9. \$\endgroup\$
    – michy04
    Commented Jan 20, 2013 at 11:24
  • 1
    \$\begingroup\$ Check the steam hardware surveys to see what your customers are running :) \$\endgroup\$
    – Roy T.
    Commented Jan 20, 2013 at 13:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .