Microsoft's update for Direct3D, with opacity micromaps and shader execution reordering now official features, will probably mean little to gamers but graphics devs are going to be happy
When it comes to games on PCs, there's one thing that thousands of them have in common: the graphics API used to tell the GPU what to do. Specifically, I'm talking about Microsoft's Direct3D and I'm telling you about this because D3D12, for short, has now been updated with a new shader model and a bunch of other additions that will probably mean little to gamers but will keep devs happy for sure.
You can read more about the specific details in a short blog by Microsoft, but be warned, it's not exactly lightweight reading for the casual PC enthusiast. Starting with the new Shader Model 6.9, the most notable additions are HLSL (high level shader language) commands for two DXR (DirectX Raytracing) 1.2 features: opacity micromaps (though this has been in D3D12 for a while now) and shader execution reordering.
Both of these can already be found inside the GPUs in Nvidia RTX 40 and 50-series graphics cards—which is why the features can be found in Alan Wake 2 and Indiana Jones and the Great Circle—and they're both all about making ray tracing go a little bit faster. In the case of the former, it helps to reduce the number of ray shaders required in a scene that has lots of objects with transparent or translucent sections.
Shader execution reordering, or SER, on the other hand, helps out in any ray tracing situation, but it's most effective when used in really heavy scenes. One aspect of what makes ray tracing so tough on GPUs is that the processors have to handle lots of shaders in parallel that are often quite different in terms of workload, complexity, and instruction type.
SER lets the GPU shuffle when shaders have to be executed about, maximising the efficiency of the chip, especially when it comes to accessing data in caches. While neither AMD nor Intel GPU have exactly the same features in their GPUs, the fact that they're now officially part of Direct3D means that we should expect to see them in the next generation of Radeon and Arc graphics cards.
As for the rest of the new bits in the Shader Model/D3D12 update, they're all complex, specific, and mostly about improving coding flexibility and trimming milliseconds off how everything is all processed between the CPU and GPU. I could easily write a few thousand words going over it all, but I fear I'd bore most of you dear readers to tears.
Graphics engine developers, on the other hand, will certainly be pleased by all of this, because having hardware features standardised in one API just makes their jobs just that little bit easier. For us gamers, that means getting a game that runs a little bit faster, a little bit smoother. Well, until their studios replace them with AI, and then we'll just get gooblegook graphics running at 0.632 fps with ultra performance upscaling.
