Closing Thoughts and Going Forward
So what can we make of all of this data and the first real-world gaming test for DirectX 12? Not much, but quite a bit. How?
Not much: this is a single benchmark from a single game from a single game engine. DX12 is not going to affect and perform identically for other game engines that ship with both DX11 and DX12 code paths compared to what we see with our first look at Ashes of Singularity. Some games may favor NVIDIA’s GPUs more and others may actually favor AMD’s more but this is a single instance (and the very first) of the new DX12 being implemented in a game.
Sample output from a DX12 test run of Ashes of the Singularity
But quite a bit: we knew that DX12 put more power in the hands of the game and engine developer and this is proving to be interesting for the battle of AMD and NVIDIA. It’s undoubtedly clear from our data that NVIDIA has vastly superior DX11 drivers when compared to AMD. DX11 is an API that requires a lot of optimization for games and for multi-threading and it would appear that NVIDIA’s engineering team has spent a lot of time and resources making sure there is the fastest and best performing platform. This makes sense – DX11 has been around for a long time and will likely be here for quite a while to come. But with the move to DX12, AMD’s less expensive GPU was able to match performance with the GTX 980, a card that was as much as 90% faster in the older API. How? Did AMD suddenly becoming API coding geniuses and tweak its driver for vastly different DX12 behavior than for DX11? I doubt it. Instead, we are seeing a combination of the work AMD did on Mantle / Vulkan APIs and the generalization of game engines that is bound to happen when an engine has more direct access to the GPU hardware than they have ever had. And it doesn’t hurt that AMD has been working with Oxide and the Nitrous engine for many years as it was one of the few game engines to ever really implement Mantle.
From what I can tell going forward, it is going to be a new kind of battle for optimization in the world of DX12. If a game engine developer wants to take optimal advantage of the GPUs from AMD, NVIDIA or even Intel, those devs need to be very hardware aware or each IHV is going to have to spend more time and engineering to teach and implement those developers about each new Radeon or GeForce feature that comes around. If you can’t count on the API to automatically give you access to each and every hardware tweak and shader improvement capability that NVIDIA/AMD devise, then direct developer to GPU vendor communication is going to need to be more heavily prioritized.
So does the Ashes of the Singularity give us the answers on what to expect going forward for the new API? Only from a certain point of view of course – as I said at the beginning of this story it is only one game and only one engine. It can’t predict what Unreal, Unity, and others will ultimately do and how they will perform. But it does give us an incredibly interesting window to what could happen. AMD would love to see a leveling of the playing field or even a hardware advantage thanks to DX12 and the work it put into low level APIs all those years ago. NVIDIA needs to prove that its lower than expected DX12 scaling is more about its massive investment in DX11 and not about its inability to get off on the right foot of this new API that will continue to grow and gain traction with gamers, media and developers.
Obviously we’ll hold off on making any hard decision until we see a handful more DX12-ready games filter their way to us, but the Ashes of the Singularity benchmark has certain got us intrigued about this future for PC gaming.