Ashes of the Singularity: AMD and Nvidia Finally Work Together In DirectX 12

Advanced Micro Devices (AMD) has announced a collaboration with Oxide Games and Stardock to bring the very best DirectX 12 performance to Ashes of the Singularity, a massive real-time strategy game built with inspirations from Total Annihilation and one of the first to take advantage of Microsoft’s latest API. The goal of Ashes of the Singularity is to depict real-time wars. Thousands or even tens of thousands of 3D objects could appear on screen in such a game.

Until now, strategy games had to have a real limit on the number of units that could be on the screen at once. To get over this limit, Oxide Games created its Nitrous Engine to take advantage of the DirectX 12 graphics software, which in turn can fully exploit the graphics hardware and 64-bit multicore central processing units (CPUs) in gamer PCs. One of the most exciting parts of Microsoft’s DirectX 12 is the ability to pair graphics cards of varying generations, performance, or even manufacturers together in a single PC, to pool their resources and thus make games and applications run better.

The latest beta version of Stardock’s real-time strategy game Ashes of the Singularity includes full support for EMA (Explicit Multi Adaptor), meaning that for the first time we can just what kind of a performance boost we can get by doing the previously unthinkable and sticking an AMD and Nvidia card into the same PC. Unlike AMD’s CrossFire and Nvidia’s SLI technologies, which pair up nearly identical hardware to improve performance, EMA allows developers to utilize any and all graphics resources as they see fit. No longer are developers confined to the whims of driver teams and homogeneous hardware; EMA now let’s them do crazy things like rendering a game using both AMD and Nvidia GPUs.The game has been the showcase for all the wonders that are possible in DirectX 12. Last year I used an older preview to test how insanely DirectX 12 will scale with multicore CPUs.This time, Ashes is back with its Beta II build that enables Explicit Multi-GPU with the simple click of a checkbox. DirectX 12 is promising blistering new levels of efficiency and performance, and AMD’s partnership with Oxide Games aims to raise that bar even higher. The result is a series of AMD exclusive features making their introduction in Ashes of the Singularity.

Asynchronous Compute: DirectX 12 Async Shaders supercharge work completion in a compatible AMD Radeon GPU by interleaving tasks across multiple threads to shorten overall render time. Async Shaders are materially important to a PC gamer’s experience because shorter rendering times reduce graphics pipeline latency, and lower latency equals greater performance. “Performance” can mean higher framerates in gameplay and better responsiveness in VR environments. In DirectX 11 only one shader could run at a time, this means that while a memory-dominant shader was running, the math units would be sitting idle. Ashes of the Singularity is able to use DirectX 12 to schedule nearly all of its compute tasks, which can account for nearly a third of the frame time, to run in parallel with other rendering tasks. This compute work always has to be done, but by allowing them to run in parallel the GPU can now schedule complementary tasks to achieve nearly full utilization of the GPU.

Multi-threaded Command Buffer Recording: With DirectX 12 offering greater support for multi-GPU setups. Ashes of the Singularity benchmark 2.0 allows for full-scale multi-GPU testing. It is important to remember that the CPU and the GPU communicate through the DirectX API. However, DirectX 11 is an API form 2008. Nowadays the GPUs are so fast that a CPU using DirectX 11 can’t feed it fast enough. Although CPUs often have 4/8 cores, for technical reasons DirectX 11 games could only have 1 core to feed the GPU. As if in a highway we only use one lane. During a frame, the GPU would run out of work and would sit idle. DirectX 12 allows all CPU cores to feed the GPU, this GPU food is called ‘command buffers’ i.e. eight cores feeding your GPU better than one.

Ashes of the Singularity and its new beta and benchmarking tool fully support explicit multi-GPU, or the ability to combine graphics cards from different vendors (AMD and Nvidia) in a single machine. As the game is heavily multithreaded, Stardock recommends testing with a quad-core CPU at a minimum, and at least 16GB of RAM. Ashes of the Singularity Beta 2 is available now for $49.99 on GOG and Steam. Benchmark 2.0 is included as part of the package, run from within the game itself. The full release of Ashes of the Singularity is expected later this year.