During the GDC 2014 closing on this March 21st, Microsoft announced DirectX12 with some graphics showoff and example on CPU/GPU usage.
Futuremark was part of the demo with a 3DMark version running DX12, of course this is just a showoff and not final product yet.
So what’s new for overclockers with DirectX12 ?
Well it was announced just a few days ago and most of the details will come out later, but overall this will impact just a bit.
As Matt Sandy said on the Microsoft blog :
DirectX 12 introduces the next version of Direct3D, the graphics API at the heart of DirectX. Direct3D is one of the most critical pieces of a game or game engine, and we’ve redesigned it to be faster and more efficient than ever before.
Despite the marketing talk that could be seen between the words, basically DX12 is a new API, same like DX11 was a new API etc.
For game / benchmark developement that mean there will be new version supporting DX12, but this is not expected before the end of 2015 best case. This will highly depend on the game available a this time and also if the hardware supporting it is available.
The best news overall in all this is that… most of the current DX11 hardware available today will support Directx12 ! Yes this is a great news ! AMD and Nvidia will release drivers that will allow support of the new DirectX12 API for basically most of the actual hardware (NV : Fermi, Kepler, Maxwell and AMD GCN-based Radeons.)
Second things that could impact us is… the operating system to use, it will most probably not be ported on Windows 7 because by late 2015, Microsoft would probably push its next-gen OS Windows 9 (rumors says April-2015 launch). This is pure speculation, as Windows 8 is a fiasco, especially on the gaming / overclocking scene.
For your information, by mid-2015 Windows 7 will be about 6 years old.
Multi-Thread scaling and CPU dependency in benchmarks.
According to the guys at Futuremark and Microsoft, they used a modified version of 3DMark11 using Direct3D12 to outline the improvement in multithreading usage at the API level. (Note : Damn that was about time…).
They claim a 50% improvement in CPU utilization and better multi-threading support :
3DMark  on Direct3D 11 uses multi-threading extensively, however due to a combination of runtime and driver overhead, there is still significant idle time on each core. After porting the benchmark to use Direct3D 12, we see two major improvements – a 50% improvement in CPU utilization, and better distribution of work among threads.
While this is a good news overall, keep in mind this fact is based only on the outcome of 3Dmark11 modified to use Direct3D12. This improvement number is to be taken with a grain of salt as it will highly depend on the way the DX11 API was implemented in the first place.
3DMark11 modifeid to use Direct3D API.
3DMark11 using Direct3D11
Okay but how does it impact ? Well i would say that int he future the load on the CPU will be more multi-threaded, hence multi core CPUs will be more efficient, but this is only true for the API Call part (this is a very very small impact and will probably never be reflected in the final score.)
During overclocking this will result in better multi-threading, avoiding having one of the core to be more used and slowing down the overall system impacted by the ‘wait time’ to process the next set of DX call.
A new 3DMark for DirectX12
Futuremark already announced, via their director of engineering Jani Joki, that they will create “[...] a new 3DMark benchmark that will demonstrate and test the full capabilities of DirectX 12.”
It is not yet defined if this will be a new test added to the actual 3DMark suite with new scenes or a rework of actual tests. Maybe there will be a ColdStrike and ColdStrike Extreme test added using purely DirectX12 (yep this is a joke for those that didn’t got it :D).
We could also expect a dedicated benchmark suite called 3DMark12, that could be a refresh of the 3DMark11 (that is using DirectX11 only) to use exclusively DirectX12 API.
Time will tell…
Note : We do speak about DirectX12 and sometimes Direct3D12 this is because DirectX is the global name for all the API provided, there are the video API, sound API etc, all inside DirectX. The Direct3D name is specifically targeting the DirectX Video API.
Source : Multiple + MSDN DirectX Blog