DirectX is an API (Application Programming Interface) that’s used for virtually all Windows games and the Xbox console family (originally the “DirectX Box”). DirectX 12 hardware is now common and thanks to the Xbox Series consoles, games for DirectX 12 are quickly becoming the norm, but how is 12 better than 11?
First, What’s a “DirectX”?
DirectX is the middleman between computer hardware and software. Video games or other high-performance applications that need to use hardware like the GPU are written according to the specifications set out by DirectX. In turn, DirectX-compatible GPUs (which are all of them today) are also designed to comply with the DirectX standards.
This means that, unlike the old days of DOS games and IRQ settings, no developer has to write software for a specific GPU or sound card. As long as everything is DirectX-compatible, it will work.
More Cores = More Better With DirectX 12
For years gamers had no reason to get CPUs with more than four cores. Developers found it difficult to take advantage of multiple threads in their games and only recently, with octa-core consoles, have we really started to see games that are designed with multiple concurrent threads to run different systems.
DirectX 12 moves a lot of the work to get games working over multiple CPUs away from developers and builds it into the API itself. This is part of the drive with DirectX 12 to get the most out of your PC hardware, rather than only using a portion of its potential.
GPUs can do a lot more than graphics these days, from running machine learning algorithms to accelerating data decompression from a high-speed SSD, there seems to be nothing these mini supercomputers can’t do.
The problem is that when you try to do graphics and general computer jobs concurrently, you get performance inconsistencies as the GPU switches between the two contexts. The asynchronous compute feature of DX12 allows access to the different specialized engines of the GPU that do tasks like shading pixels, or running ML tasks.
DirectX 12 Gets Down to Bare Metal
One of the biggest changes in DirectX 12 is that developers have much more direct control of the computer’s hardware. In other words, the layer of abstractions that DirectX represents is much thinner with DirectX 12.
This means game developers and other graphics software creators get access to the GPU at a low level, making it possible to get more performance out of a computer and achieve visuals that would not have been possible before.
This is however a double-edged sword since developers who don’t have the right expertise can end up with games that have performance problems or inconsistencies without the built-in optimizations that DirectX 11 does in the background at the cost of taking some control from the coders.
What is DirectX 12 Ultimate?
DirectX 12 Ultimate is the latest version of DirectX 12 and includes new features that only the latest hardware can offer. Examples of these include support for ray tracing. That is, ray tracing for any DirectX 12 Ultimate compatible GPU, not just Nvidia’s proprietary RTX technology.
Another key feature of Ultimate is Variable Rate Shading (VRS) where the shading quality in a scene is dynamically altered so that resources are not wasted on pixels that don’t need them. VRS is already a part of regular DirectX 12 but adds more features to it such as mesh shaders and sampler feedback.