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.

More on Async Shading, the New Benchmark, & the Test
Comments Locked

153 Comments

View All Comments

  • Dug - Sunday, February 28, 2016 - link

    Very bad would indicate that it would be unplayable.
    I'm playing fine at over 60fps on nvidia. Maybe I should trade it in for an R9 to get 63fps?
  • C3PC - Wednesday, March 16, 2016 - link

    Not really, this is a beta for a game that is heavily embedded with AMD tech, the way the game handles it would favor AMDs implementation, it could go the other way for a game designed around Nvidia's implementation.

    Also, calling this bed performance of DX12? Maybe you should clarify that this is an implementation of 12_0 and not 12_1, I highly doubt AMD will fair as well as Nvidia under such circumstances.
  • jsntech - Wednesday, February 24, 2016 - link

    For Nvidia to perform the same or worse between DX11 and DX12 seems like a pretty big thing to be addressed with just an 'optimization', especially compared to AMD's results. I guess we'll see when it's out of beta!
  • Senti - Wednesday, February 24, 2016 - link

    Well, being low-level DX12 leaves much less to driver, so there should be less miraculous fps gains by driver optimization than in DX11.
  • mabellon - Wednesday, February 24, 2016 - link

    Something I have been wondering about this game is whether the DX11 vs DX12 comparison is really valid. The game apparently pushes higher draw calls and takes advantage of DX12. But when running in DX11 mode, is it still trying to push all those unique draw calls or is it optimized like most DX11 games and using draw call instancing? (Sorry not a game dev, so I don't fully grok the particulars).

    Basically, if the game was designed and optimized for DX11 it might perform well but not have the visual fidelity of so many draw calls (unique unit visuals). So the real difference should have been visual quality. Instead I get the impression that the game was designed to push DX12 and then when in DX11 mode stresses the draw call limitations, over emphasizing the apparent gains. Am I wrong?

    Currently it seems that porting a game from DX11 to DX12 nets up to a 50% improvement in framerates. The reality is more nuanced that existing games are clearly working around draw call limitations and thus won't see something quite so dramatic. Thoughts?
  • ImSpartacus - Wednesday, February 24, 2016 - link

    I think you're probably right.

    Dx12 doesn't simply improve performance and nothing else. So the massive performance improvements probably aren't entirely fair.
  • extide - Wednesday, February 24, 2016 - link

    It would have to use less draw calls for DX11 as hitting DX11 with the high number of calls you can do in DX12 would make it fall flat on it's face. I am sure the DX11 path is well optimised for DX11, I mean while this game is a big showcase for DX12, most people who play it will probably be on DX11 ...
  • Denithor - Thursday, February 25, 2016 - link

    People with nVidia cards will be playing in DX11 mode. People with AMD cards, even those three generations old, will be fine in DX12 mode with better eye candy and simultaneously better FPS.
  • Friendly0Fire - Wednesday, February 24, 2016 - link

    There's definitely quite a bit of that. Looking at the benchmark, a lot of the graphics design seems aimed at causing more draw calls (long-lasting smoke consisting of lots of unique particles, lots of small geometric details, etc.). While I'm absolutely convinced that DX12 will give better performance than DX11 in the long run and that the gap will be fairly large, I think this benchmark is definitely designed to overemphasize just how great DX12 is.
  • jardows2 - Wednesday, February 24, 2016 - link

    I would like to see how much of an impact the DX12 on a released game makes in the CPU world. Do you get better performance from multiple cores, or is it irrelevant? Speculation is that DX12 could change the normal paradigm for judging gaming performance on CPU's.

Log in

Don't have an account? Sign up now