DirectX 12 Performance Tested In Ashes of the Singularity
Vigile writes: The future of graphics APIs lies in DirectX 12 and Vulkan, both built to target GPU hardware at a lower level than previously available. The advantages are better performance, better efficiency on all hardware and more control for the developer that is willing to put in the time and effort to understand the hardware in question. Until today we have only heard or seen theoretical "peak" performance claims of DX12 compared to DX11. PC Perspective just posted an article that uses a pre-beta version of Ashes of the Singularity, an upcoming RTS utilizing the Oxide Games Nitrous engine, to evaluate and compare DX12's performance claims and gains against DX11. In the story we find five different processor platforms tested with two different GPUs and two different resolutions. Results are interesting and show that DX12 levels the playing field for AMD, with its R9 390X gaining enough ground in DX12 to overcome a significant performance deficit that exists using DX11 to the GTX 980.
The Developer now must know MORE about the underlying hardware to make the best use of Direct X 12?
This is a total step in the WRONG direction. So now having Direct X 12 hardware doesn't mean your game now just works, oh no. If you want the full experience you now must have the HARDWARE that your game was written for, or forget all this compatible Direct X stuff. How's this different from the game developer just coding directly to the video hardware of choice? That's what they do now, especially when they are funded by the video hardware guys in an effort to sell more hardware..
For this Direct X thing to really be useful, it needs to isolate the developer from the hardware implementation. You need to abstract away the vendor specifics and make the programming agnostic to what hardware it's running on... Otherwise this is all going to just going to be what it has always been, vendor lock in for specific games and drive us towards only ONE video hardware chip maker....
I think what this benchmark really tells us is two things:
1. nVidia has not optimized their driver stack for DX12 as much as AMD has optimized for DX12
2. The performance difference between AMD and nVidia is likely a software issue, not a hardware issue (nVidia's driver has a more optimized DX11 implementation than AMD's). However, it is possible that nVidia's silicon architecture is designed to run DX11 workloads better than AMD's.
Bullet #1 make sense, AMD has been developing Mantle for years now so they likely have a more mature stack for these low level APIs. Bullet #2 also makes sense, AMD/ATI's driver has been a known weak point for a long time now.
Direct3D 11 introduced the capability to render with multiple threads via deferred contexts. NVidia chose to support that feature, AMD did not. Direct3D 12 mandates multithreaded rendering.
Those who haven't clued in yet: this is the same engine that was used for "unreleased game turned DX 12 synthetic benchmark" star swarm. All same caveats apply:
1. Unknown engine not available to public with unknown performance. We have no idea how DX11 implementation is made, or why DX12 is so much faster than anywhere else seen so far.
2. Is in pre-alpha, meaning performance is all over the place and a complete black box, it could render faster in DX11 in next build for all we know.
We've been there with mantle already. Specialized tech demos showing massive performance boost from using mantle over DX11. Then release, frostbite et al start supporting it and we see minimal to no performance boost outside really low end CPUs bundled with really high end GPUs.
Show me this kinds of numbers on a known engine that has a polished DX11 implementation like unreal 4 engine, and I'll actually believe you. Until then, all I see is more marketing BS.