The Windows 10 Review for the Windows 7 User: Misses More than It Gets


Windows 7 vs Windows 10: DX12 Gaming Performance Comparison

Gaming performance on Windows 10 is all about the DirectX 12 API and since the humble rig I had been using does not support DX12 (Nvidia has yet to deliver on its promise of bringing DX12 support to Fermi), I had to bring in my colleague Jeff Williams on the scene. We originally planned to do a TITAN-X and AMD R9 Fury X pair up but unfortunately his card developed a bad case of pump whine and had to be RMA-ed and in its place is the old R9 290x. DX12 API has primarily one major feature - which is the reduction of the API overhead and boy, does Windows 10 shine on that count!

DirectX 12 makes Windows 10 something worth adapting

During the initial reveal, Microsoft had talked a lot about how the CPU overhead is a major problem and how the performance of GPUs is going constantly uphill while the performance of CPUs is not increasing proportionally. They also correctly noted that single core performance of CPUs is increasing at a snails pace. The answer is ofcourse to put more load on the GPU so no bottleneck is established, and the way to do it, is via a low level API. DX12’s main aim is to solve the major CPU overhead problem and it actually goes one step further than even Mantle. In an example that Microsoft showed, it is revealed that in DX11, core optimization was low. However in DX12 the workload is more spread and the actual work decreased as well.

NVIDIA DirectX 12 GDC 2014*A diagram showcasing the disparity between CPU and GPU performance increase.

There are also much more subtle features such as memory management, advanced culling techniques, rasterization optimization multi core scalability swizzled resources and much deeper access controls. Directx 12 was slated to support Fermi, Kepler, Maxwell, and AMD GCN Cards, which are basically all the current gen GPUs. This is only to be expected as Nvidia killed support for all DX10 based cards just a few months ago. Before I get carried (further) away with my rant, here are the test specifications:

Test Bench Specifications:

CPU: Xeon 1230V3
Mobo: Gigabyte z97N wifi
GPU2: AMD R9 290x
RAM: 16GB 1600
SSD: 120gb ssd
Geforce Driver: 353.62
Catalyst Driver: 15.7.1

firestrike benchmark*Higher is better

First up we have the standard Firestrike benchmark. Now, we didn't bother going into any more benchmarks or games because, you guessed it, there are no games with DX12 support out there. Infact the Firestrike Benchmark is based on the DirectX 11 API too - and surprisingly, it shows a loss in performance of the TITAN-X. This is probably a driver issue and is something to be expected considering the infancy of the Windows 10 platform and the immature drivers in play.

api overhead*Higher is better

Finally, here is the DX12 API overhead benchmark that I am sure all us have been waiting for. The difference between the drawcalls submitted by DX11 and DX12 is absolutely, mindbogglingly huge. DX12 will help PC developers unlock the coveted "to the metal access" that console developers have access to; leading to the full utilization of the Graphic Card in use. However, there is another side of the story for certain users with older hardware. This is something I discovered during my initial testing and was one of the main reasons I decided to ask Jeff for help.