Is it worth supporting DirectX11 Anymore?

Started by
11 comments, last by atri 5 years, 2 months ago

If building a 3D graphics engine in 2019 with the hope of creating a game for PC, would it be worth supporting the DirectX 11 graphics API? 

Vulkan would seem like the best API to support first and all NVidia GPUs from Kepler onward support Vulkan but does it perform well enough on Kepler/Pascal GPUs relative to DirectX 11?

Advertisement

AFAIK there are no plans to discontinue DX11 in favor of DX12. Likely both APIs will remain, but can somebody confirm this?

 

I've used Vulkan with GTX 670, and it performed as expected. I think there is no support for GTX4xx, not sure about 5xx. AMD 5870 performed great.

But i'm mainly about compute performance, i just noted nothing special with the very basic rendering i have.

 

But i'm pretty sure low level can at least match high level if you do it right. I would make the decision as following:

Want Raytracing? -> DX12 / VK

Be a AAA dev? -> save time and choose DX11, because it's less work and NV will optimize the driver for your game. ;) 

Neither of the above? Want things like async compute and proper multithreading -> DX12/VK. No need for this, then go the easy way and use DX11.

 

 

My two cents will be to tell you that if you understand very well all the subtilities of today's GPU and graphics programming, it might be interesting for you to use a low-level API like Vulkan or DirectX 12. If you ever met any bottleneck with high-level APIs that you know you cannot overcome them easily, then again move to them.

But if you never met any performance issues with OpenGL or DirectX 11 and / or you don't want to manage all the internal, then you'll still be able to have very good performances with normal APIS like OpenGL and DirectX 11.

If you are alone, then you might start with a higher-level API or maybe you could use an existing graphics abstraction library which will get you free from doing it all from scratch.

DirectX 12 and 11 are entirely different beasts.

Think of them like being like comparing assembler and C++, they have different problem domains they solve.

For anything other than an AAA engine, or the learning experience, really you should be considering dx11, not dx12.

Hope this helps!

Apologies I didn't phrase my question well. I'm very familiar with DirectX 11. First learned to use it in 2012. I intend using Vulkan but just want to know from a customer standpoint, is DirectX 11 worth supporting anymore? I'd like the renderer to fully utilize Vulkan and other low level APIs and I'd rather not have to deal with a higher level API if possible.

Oh, looking at this: https://store.steampowered.com/hwsurvey/Steam-Hardware-Software-Survey-Welcome-to-Steam, you could target 90% with VK.

Would be enough for me.

I would support either OpenGL or DX11 first, not Vulkan.  Only later after you have your renderer working, if you have a need for something like DX12 or Vulkan, then go for it at that point.  But for most games you wont need to go there, and working with GL or DX11 will be much more time efficient for you.

On 2/2/2019 at 4:56 AM, JoeJ said:

Oh, looking at this: https://store.steampowered.com/hwsurvey/Steam-Hardware-Software-Survey-Welcome-to-Steam, you could target 90% with VK.

Would be enough for me.

Do their HW stats actually tell you the number of systems with a working Vulkan driver? My understanding is that you can't just take the number of Win7 + Win10 systems and assume they're all Vulkan-capable, since there's Win7 machines out there with older GPU's (mobile GPU's in particular) that never got a Vulkan driver (or the owner just never updated their driver for whatever reason). That case might not be common for the Steam userbase since they tend to have more power users, but I know it's absolutely a consideration for games and engines that target casual users. 

This topic is closed to new replies.

Advertisement