Microsoft Corp.’s DirectX 12 application programming interface promises to significantly improve performance of video games in Windows 10 operating system thanks to efficient usage of modern hardware. However, Valve Software believes that it makes no sense to use DX12, but to utilize cross-platform Vulkan API instead.
Modern application programming interfaces – namely Apple’s Metal, Khronos Group’s Vulkan and Microsoft Corp.’s DirectX 12 – are all considered low-level APIs and have generally similar capabilities. All three APIs have improved ability to use multi-core microprocessors, allow software makers to have close-to-metal access to resources of graphics processing units, they all support GPGPU [general-purpose computing on graphics processing units], reduce driver overhead and so on. The three APIs are compatible with a wide range of hardware.
Apple’s and Microsoft’s APIs are only supported by Apple iOS/OS X platforms as well as Microsoft Windows 10, respectively. By contrast. Vulkan should be compatible with all operating systems from Google (future versions of Android) and Microsoft (Windows 7/8/10) as well as a wide range of hardware, which makes it preferable for game developers who want their titles to run on different types of devices.
“Unless you are aggressive enough to be shipping a DX12 game this year, I would argue that there is really not much reason to ever create a DX12 back end for your game,” said Dan Ginsburg, a software developer from Valve, at Siggraph, reports DSO Gaming. “The reason for that is that Vulkan will cover you on Windows 10 on the same class of hardware and so much more from all these other platforms and IHVs that we have heard from. Metal is single platform, single vendor, and Vulkan… we are gonna have support for not only Windows 10 but Windows 7, Windows 8 and Linux.”
For Valve, which is developing its own Steam OS to power its living room PCs called Steam Machines, DirectX 12 clearly does not make a lot of sense. By contrast, Vulkan will be supported by Steam OS, which is based on Linux.
While for cross-platform developers it makes a great-sense to use Vulkan, DirectX 12 still has a number of advantages. The Vulkan API is still not finalized, so it cannot really be used for commercial products right now. As a result, those, who plan to release their titles in the next twelve month, should keep using DirectX 12.
Discuss on our Facebook page, HERE.
KitGuru Says: Vulkan is extremely promising API that can have a tremendous impact on the industry. However, since the technology is simply not ready, for many developers DirectX 12 is virtually the only choice.