DirectX 12 is Microsoft’s application programming interface (API). Libraries used for the development of multimedia and video applications, especially video games. DirectX has allowed Microsoft to monopolize the game on PC by including it in Windows operating systems and also in its Xbox ecosystem. Although there are other standardized, more open specifications such as OpenGL and its promising latest version Vulkan , the dominance of Windows on PCs has made DirectX a reference for games on personal computers , and with it, one of the most obvious features where Windows 10 outperforms other computer desktops like OS X and Linux.
The beginnings of DirectX
As older users before Windows 95 will recall, PC gaming was often a torturous ordeal involving the use of DOS and boot floppies. In order to give games direct access to system hardware , you first had to boot into DOS and use special arguments in the config.sys and autoexec.bat configuration files. Microsoft quickly realized that to make the Windows operating system popular with gamers it had to give game developers a way for their products to access the same hardware resources in Windows as they did in DOS.
The first version of DirectX was released for Windows 95 and NT 4.0 in June 1996. At first, adoption was slow, but DirectX soon became strong. Some critics consider that other interfaces such as OpenGL are more efficient in leveraging the hardware, open royalty-free under a standard multiplatform API and in essence, not controlled by Microsoft and above all, limited to a single operating system, Windows. A debate that would go a long way but does not touch today The reality is that the advent of DirectX changed the PC gaming industry forever. Today, with Windows dominating 90 percent of computer desktops and used on its Xbox One console, its importance is far from doubt.
The latest version of these multimedia libraries were released by Microsoft in 2015 exclusively for Windows 10 and Xbox One. It arrived on the market promising a revolution especially in performance by including a specific optimization to make better use of real system resources, especially in CPUs with more quad-core processing and multi-GPU configurations. Its result has not been as expected . The initial support was minimal and although the situation has improved lately, the advantages have been coming with a dropper. Not because of technical capacity, but because of its complexity so that the developers extract their full potential , the improvements have been insignificant (except for specific games). Complexity has increased in the areas of memory management, multi-GPUs, and the underlying technology required to enable asynchronous computation. In short, DirectX 12 has a lot of potential on paper, but – so far – little practical result.
What version of DirectX am I using?
You can easily see the version that is installed on your Windows PC using, for example, the system search engine or the “run” tool (right-click on the start menu or with the “Windows + R” hotkeys), typing the command “dxdiag”: You will access the DirectX diagnostic tool. In the “system” tab you will see the version of DirectX installed. In the “screen” tab, you will see more information, the graphics you have installed, the latest version of the driver or DX parameters that must be activated such as DirectDraw acceleration, Direct3D or texture acceleration. An additional note informs you if there are any problems with the APIs. Although that is the last version installed and the one that Windows will use preferably in compatible games, it is not uncommon for you to also have other versions installed . The explanation is that each game depends on a different version of DirectX. For example, if a developer wrote a game to use DirectX 11 Update 40, then only that version will work and not a higher one. Therefore, every time you install a new game, especially older ones, it is likely that a new version of the APIs will be installed. The libraries are located at C: \ Windows \ System32 or / and C: \ Windows \ SysWOW64.
How do I download and update DirectX 12?
In the past, DirectX had its own download and installation like any executable, but since Windows 8, Microsoft has included APIs as part of the operating system.
- In Windows 10 DirectX 12 works exclusively. Directly from Windows Update. «Settings> Update and security> Windows Update> Check for updates.
- Windows 8.1 has support up to DirectX 11.2. As in Windows 10, there is no regular manual download and it is updated in the same way.
- In Windows 7 , the latest supported DirectX version is 11.1. It is available with Windows 7 Service Pack 1 and specifically in Windows Update KB2670838. It can be updated manually or through Windows Update.
- Microsoft also maintains a dedicated download page where older versions of the libraries can be downloaded.
Vulkan, the great alternative to DirectX 12
Vulkan is a next-generation platform for the development of videogames and applications with 3D graphics in general. Similar in targets to Microsoft’s DirectX (or others like Apple’s Metal), it provides low-level access allowing programmers to squeeze performance out of hardware. Vulkan is the biggest competitor of DirectX 12 and beyond its technical qualities, it stands out for its multiplatform support for various devices (consoles, computers, tablets, mobiles, embedded …) and platforms (Linux, Android, OS X, Steam OS or all Windows versions …), which is a great advantage over the latest Microsoft APIs, let’s remember exclusive for Windows 10 (and Xbox One).
Another advantage is that it is an API licensed under open source that can be added to practically any platform. Developers can code games in Vulkan, being easily portable between different platforms. Both NVIDIA and AMD and Intel have Vulkan support in their Windows and Linux graphics drivers. Valve’s Steam OS also has them and has even reached macOS and iOS despite Apple that for commercial reasons prefers to promote Metal. Also important is Samsung’s commitment to Vulkan as the new generation graphical API and Google in general on Android.
As of Vulkan 1.1 , the use of Microsoft API HLSL shader and Direct3D memory layouts have been added natively. This support will make it easier for them to move their existing Direct3D code to Vulkan , since they no longer need to rewrite all their shader programs. To support this support, Khronos has released a new version of SPIR-V 1.3 so that programs written for OpenCL can be run on any GPU that has a Vulkan runtime. Very interesting and should follow Vulkan in the future. Still, so as not to fool anyone, DirectX are still essential for global game development . And not because of its technical characteristics, but because of Microsoft’s mastery of the Windows desktop.