Ashes of the Singularity Revisited: A Beta Look at DirectX 12 & Asynchronous Shading
by Daniel Williams & Ryan Smith on February 24, 2016 1:00 PM ESTWe’ve been following DirectX 12 for about 2 years now, watching Microsoft’s next-generation low-level graphics API go from an internal development project to a public release. Though harder to use than earlier high-level APIs like DirectX 11, DirectX 12 gives developers more control than ever before, and for those who can tame it, they can unlock performance and develop rendering techniques simply not possible with earlier APIs. Coupled with the CPU bottlenecks of DirectX 11 coming into full view as single-threaded performance increases have slowed and CPUs have increased their core counts instead, and DirectX 12 could not have come at a better time.
Although DirectX 12 was finalized and launched alongside Windows 10 last summer, we’ve continued to keep an eye on the API as the first games are developed against it. As developers need the tools before they can release games, there’s an expected lag period between the launch of Windows 10 and when games using the API are ready for release, and we are finally nearing the end of that lag period. Consequently we’re now getting a better and clearer picture of what to expect with games utilizing DirectX 12 as those games approach their launch.
There are a few games vying for the title of the first major DirectX 12 game, but at this point I think it’s safe to say that the first high profile game to be released will be Ashes of the Singularity. This is due to the fact that the developer, Oxide, has specifically crafted an engine and a game meant to exploit the abilities of the API – large numbers of draw calls, asynchronous compute/shading, and explicit multi-GPU – putting it a step beyond adding DX12 rendering paths to games that were originally designed for DX11. As a result, both the GPU vendors and Microsoft itself have used Ashes and earlier builds of its Nitrous engine to demonstrate the capabilities of the API, and this is something we’ve looked at with both Ashes and the Star Swarm technical demo.
Much like a number of other games these days, Ashes of the Singularity for its part has been in a public beta via Steam early access, while its full, golden release on March 22nd is fast approaching. To that end Oxide and publisher Stardock are gearing up to release the second major beta of the game, and the last beta before the game goes gold. At the same time they’ve invited the press to take a look at the beta and its updated benchmark ahead of tomorrow’s early access release, so today we’ll be taking a second and more comprehensive look at the game.
The first time we poked at Ashes was to investigate an early alpha of the game’s explicit multi-GPU functionality. Though only in a limited form at the time, Oxide demonstrated that they had a basic implementation of DX12 multi-GPU up and running, allowing us to not only pair up similar video cards, but dissimilar cards from opposing vendors, making a combined GeForce + Radeon setup a reality. This early version of Ashes showed a lot of promise for DX12 multi-GPU, and after some additional development it is now finally being released to the public as part of this week’s beta.
Since that release Oxide has also been at work both cleaning up the code to prepare it for release, and implementing even more DX12 functionality. The latest beta adds greatly improved support another one of DX12’s powerhouse features: asynchronous shading/computing. By taking advantage of DX12’s lower-level access, games and applications can directly interface with the various execution queues on a GPU, scheduling work on each queue and having it executed independently. Async shading is another one of DX12’s optimization features, allowing for certain tasks to be completed in less time (lower throughput latency) and/or to better utilize all of a GPU’s massive arrays of shader ALUs.
Between its new functionality, updated graphical effects, and a significant amount of optimization work since the last beta, the latest beta for Ashes gives us quite a bit to take a look at today, so let’s get started.
153 Comments
View All Comments
dustwalker13 - Thursday, February 25, 2016 - link
or ... not to put to fine a point on it, nvidias program and strategy to optimize games for their cards (aka in some instances actively sabotaging the competitions performance through using specialized operations that run great on nvidias hardware but very poorly on others) has lead to a near perfect usage of DX11 for them while amd was struggling along.on ashes, where there is no such interference, amd seems to be able to utilize the strong points of its architecture (it seems to be better suited for DX12) while nvidia has had no chance to "optimize" the competition out of the top spot ... too bad spaceships do not have hair ... ;P
prtskg - Thursday, February 25, 2016 - link
Lol! spaceships don't have hair. I'd have upvoted your comment if there was such an option.HalloweenJack - Thursday, February 25, 2016 - link
Waiting for Nvidia to `fix` async - just as they promised DX12 drivers for Fermi 4 months ago.....Harry Lloyd - Thursday, February 25, 2016 - link
Well, AMD has had bad DX11 performance for years, they clearly focused their architecture on Mantle/DX12, because they knew they would be producing GPUs for consoles. That will finally pay off this year.NVIDIA focused on DX11, having a big advantage for four years, and now they have to catch up, if not with Pascal, then with Volta next year.
doggface - Thursday, February 25, 2016 - link
Personally as the owner of an nVidia card, I have to say Bravo AMD. That's some impressive gains and I look forward to the coming D12 GPU wars from which we will all benefit.minijedimaster - Thursday, February 25, 2016 - link
Exactly. Also as a current Nvidia card owner, I don't feel the need to rush to a Windows 10 upgrade. Seems I have several months or more before I'll be looking into it. In the mean time DX11 will do just fine for me.mayankleoboy1 - Thursday, February 25, 2016 - link
AMD released 16.2 Crimson Edition drivers with more performance for AotS.Will you be re-benchmarking the game?
Link: http://support.amd.com/en-us/kb-articles/Pages/AMD...
albert89 - Thursday, February 25, 2016 - link
The reason why Nvidia is losing ground to AMD is because their GPU's are predominantly serial or DX11 while AMD as it is turning out is parallel (DX12) and has been for a number of years. And not only that, but are on their 3rd Gen of parallel architecture.watzupken - Thursday, February 25, 2016 - link
Not sure if its possible to retest this with a Tonga card with 4GB Vram, i.e. R9 380x or 380? Just a little curious why it seems to be lagging behind quite a fair bit.Anyway, its good to see the investment in DX 12 paying off for AMD. At least owners of older AMD cards can get a performance boost when DX 12 become more popular this year and the next. Not too sure about Nvidia cards, but they seem to be very focused on optimizing for DX 11 with their current gen cards and certainly seems to be doing the right thing for themselves since they are still doing very well.
silverblue - Friday, February 26, 2016 - link
Tonga has more ACEs than Tahiti, so this could be one of those circumstances, given more memory, of Tonga actually beating out the 7970/280X. However, according to AT's own article on the subject - http://www.anandtech.com/show/9124/amd-dives-deep-... - AMD admits the extra ACEs are likely overkill, though to be fair, I think with DX12 and VR, we're about to find out.