Ashes of the Singularity Revisited: A Beta Look at DirectX 12 & Asynchronous Shadingby Daniel Williams & Ryan Smith on February 24, 2016 1:00 PM EST
We’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.
Post Your CommentPlease log in or sign up to comment.
View All Comments
CiccioB - Sunday, February 28, 2016 - linkThe so called ASync Compute implementation AMD has in HW IS NOT PART OF DX12 SPECIFICS.
I hope that is clear written that way.
DX12 describe the use of multiple threads flying at the same time. nvidia does support them, with some limitations in number and preemption capabilities with respect to what AMD HW can.
This however does not mean that nvdia HW does not support Async compute or it is out of specs. AMD just made a better implementation of it.
Think it as it was for tessellation: nvidia implementation is way better than AMD one, but the fact that AMD can't go over certain values does not mean they are not DX11 compliant.
What you are looking here is a benchmark (more than a game) that stresses the multi-threaded capabilities of AMD HW. You can see that AMD is in a better position here. But the question is: how many other games are going to benefit from using such a technique and how many of them are going to implement such a heavy duty load?
We just don't know now. We have to wait to see if this technique can really improve performance (and thus image quality) in many other situations or it is just a show off for AMD (that has clearly partnered to make this feature even more heavy on nvidia HW).
When nvidia will star making developers using their HW accelerated Voxels we will start to see what feature is going to hit worse one another's HW and which is going to give better image quality improvements.
For now I just think this is a over used feature that like many other engine characteristics in DX11 is going to give advantage to one side rather than the other.
anubis44 - Thursday, February 25, 2016 - linkThat's because it never will be. You can't enable missing hardware.
xTRICKYxx - Wednesday, February 24, 2016 - linkI hate to be that guy, but I think it is time to dump the X79 platform for X99 or Z170.
Ryan Smith - Wednesday, February 24, 2016 - linkYep, Broadwell-E is on our list of things to do once it's out.
Will Robinson - Wednesday, February 24, 2016 - linkNVidia got rekt.
DX12 lays the smak on Chizow's green dreams.
Roboyt0 - Wednesday, February 24, 2016 - linkDo you have 3840x2160 results for the R9 290X per chance?
Ryan Smith - Wednesday, February 24, 2016 - linkNo. We only ran 4K on Fury X and 980 Ti.
Stuka87 - Wednesday, February 24, 2016 - linkReally hating the colors of the graphs here. All grey, legend has one blue item, but no blue on the graph....
Ryan Smith - Wednesday, February 24, 2016 - linkIt's something of a limitation of the CMS. The color bar is the average; the grey bars are in the same order as they are in the legend: normal, medium, and heavy batch counts.
Mr Perfect - Thursday, February 25, 2016 - linkI was wondering what was up with that. Maybe someone could do a little MS-Paint bucket fill on the images before publishing? :)