Id Software is one of the most famous game development studios in the world. They have developed great successful games for many generations, ranging from Wolfenstein 3D through Quake until the recently released DOOM. In its latest game they update it with the Vulkan API and later announced that from now their all games will be developed under Vulkan API. Have you ever wondered why they chose Vulkan instead of DirectX 12?.

Why id Software chose Vulkan instead of DirectX 12?


Thanks to DSO Gaming interview with Tiago Sousa and Axel Geneiting, now we know why the company decided to choose OpenGL instead of DirectX 11 and why then passed Vulkan instead of DirectX 12.

“Overall we had very little issues developing DOOM with OpenGL. DirectX 11 might have an advantage when it comes to optimizations on driver side, as more effort was put into that over the years by the IVHs compared to OpenGL. Also admittedly, there is a broader range of tools that work with DirectX than OpenGL at this point in time. On the other hand, OpenGL has a bigger feature set through extensions and it is less restrictive in terms of certain GPU operations.”

As for DX12 and Vulkan, Alex had this to say:

“DirectX 12 and Vulkan are conceptually very similar and both clearly inherited a lot from AMD’s Mantle API efforts. The low level nature of those APIs moves a lot of the optimization responsibility from the driver to the application developer, so we don’t expect big differences in speed between the two APIs in the future. On the tools side there is very good Vulkan support in RenderDoc now, which covers most of our debugging needs. We choose Vulkan, because it allows us to support Windows 7 and 8, which still have significant market share and would be excluded with DirectX 12. On top of that Vulkan has an extension mechanism that allows us to work very closely with AMD, NVIDIA and Intel to do very specific optimizations for each hardware.”

In short, id Software decided to go with Vulkan because it fulfills most of their needs, to which they added that new API is fully compatible with Windows 7, Windows 8 and Windows 10, so they could take all the improvements that involve the use of the low – level API to three operating systems rather than just the Windows 10 operating system.