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
Kouin325 - Friday, February 26, 2016 - link
yes indeed they will be patching DX12 into the game, AFTER all the PR damage from the low benchmark scores is done. Nvidia waved some cash at the publisher/dev to make it a gameworks title, make it DX11, and to lock AMD out of making a day 1 patch.This was done to keep the general gaming public from learning that the Nvidia performance crown will all but disappear or worse under DX12. So they can keep selling their cards like hotcakes for another month or two.
Also, Xbox hasn't been moved over to DX12 proper YET, but the DX11.x that the Xbox one has always used is by far closer to DX12 than DX11 for the PC. I think we'll know for sure what the game was developed for after the patch comes out. If the game gets a big performance increase after the DX12 patch then it was developed for DX12, and NV possibly had a hand in the DX11 for PC release. If the increase is small then it was developed for DX11,
Reason being that getting the true performance of DX12 takes a major refactor of how assets are handled and pretty major changes to the rendering pipeline. Things that CANNOT be done in a month or two or how long this patch is taking to come out after release.
Saying "we support DirectX12" is fairly ease and only takes changing a few lines of code, but you won't get the performance increases that DX12 can bring.
Madpacket - Friday, February 26, 2016 - link
With the lack of ethics Nvidia has displayed, this wouldn't surprise me in the least. Gameworks is a sham - https://www.youtube.com/watch?v=O7fA_JC_R5skeeepcool - Monday, February 29, 2016 - link
Finally!..I can't even grasp the concept of how low rez and crappy the graphics look on this thing and everybody is praising this "game" and its benchmarks of dubious accuracy.
It looks BAD, its choppy and pixelated, there is a simple terrain and small units that look like sprites from Dune 2000 and this thing makes an high end GPU cry to run at 60Fps's??....
hpglow - Wednesday, February 24, 2016 - link
No insults in his post. Sorry you get your butt hurt whenever someone points out the facts. There are few Direct X 12 pieces of software outside of tech demos and canned benchmarks avalible. Nvidia has better things to do than appease the arm-chair quarterbacks of the comments section. Like optimize for games we are playing right now. Weather Nvidia cards are getting poor or equal performance in DX 12 titles to their DX 11 counterparts is irrelevant right now. We can talk all we want but until there is a DX 12 title worth putting $60 down on and that title actually gains enough FPS to increase the gameplay quality then the conversation is moot.Your first post was trolling and you know it.
at80eighty - Wednesday, February 24, 2016 - link
there is definitely a disproportion in responses - in the exact inverse you described.review your own post for more chuckles.
Flunk - Thursday, February 25, 2016 - link
What? How dare you suggest that the fans of the great Nvidia might share some of the blame! Guards arrest this man for treason!Mondozai - Thursday, February 25, 2016 - link
"No insults in his post."Yeah, except that one part where he called him a fanboy. Yeah, totally no insults.
Seriously, is the Anandtech comment section devolving into Wccftech now? Is it still possible to have intelligent arguments about tech on the internet without idiots crawling all over the place? Thanks.
Mr Perfect - Thursday, February 25, 2016 - link
Arguments are rarely intelligent.MattKa - Thursday, February 25, 2016 - link
If fanboy is an insult you are the biggest pussy in the world.IKeelU - Thursday, February 25, 2016 - link
"Trolling" usually implies deliberate obtuseness in order to annoy. Itchypoot's posts reads like a newb's or fanboy's (likely a bit of both) who simply doesn't understand how evidence and logic factor into civilized debate.