Introduction & DirectX 12
DirectX 12 has been something gamers and consumers have been wanting to use for the better part of a year now, and even more so now that Windows 10 is here. Developer Oxide Games alongside Stardock provided us with a copy of Ashes of the Singularity Benchmark II, a tool that allows us to do many things - including use different GPUs together. Yeah, we can use NVIDIA and AMD GPUs, together, in the same system, for added performance.
Before we get into the nitty-gritty behind DirectX 12's multi-GPU Explicit Multi-Adapter (also known as Multi-Display Adapter) functionality, let's explain what Ashes of the Singularity is. Oxide Games explains AotS as a "war is raging across the galaxy, world by world in this epic new real-time strategy game". It sounds pretty damn fun, but I'm not here for the game. I'm here for the benchmarks and making all of my GPUs hitting 100%.
Playing around with DX12 is also going to be interesting, as we'll be able to see the excellent Explicit multi-GPU support that Ashes of the Singularity Benchmark II includes. Oxide Games and Stardock Entertainment also provided "significant general performance optimizations" to AotS Benchmark II, as well as "increased the benchmark's overall load to test expanded gameplay features". We also have "new graphics effects" and the "advanced use of D3D12 multi-queue and signaling mechanisms", with Oxide noting that "this is often referred to as asynchronous compute".
DirectX 12 - What to Expect
We hear about DirectX 12 all the time, but what are the benefits? DX12 has three key features that are beneficial to users: parallel rendering, explicit multi-GPU support, and asynchronous compute. Starting with parallel rendering, where every core on your CPU is used better - matching with the GPU in parallel.
Explicit multi-GPU support is what I'm most interested in, as you can combine various GPUs together for added performance. This means you can mix and match NVIDIA video cards with AMD Radeon video cards, for added performance. Asynchronous compute support allows GPUs to multitask within themselves, providing large performance improvements.
Ashes of the Singularity is the first game to make use of DX12's explicit multi-GPU support, and until now multi-GPUs were mostly hidden from applications that didn't include pre-baked support in the form of SLI and Crossfire profiles. DX12, on the other hand, allows developers to take 100% control over all of the GPUs in the system, including the integrated GPU on your CPU, or APU.
The Massive Benefits of DirectX 12
Parallel Rendering Explained
Ashes of the Singularity is powered by Oxide Games' fourth-generation Nitrous engine, with DX11 now being a limiting factor. Oxide uses DX11 to its benefit, with most uses of DX11 used in something that's called a "client/server model". The application (or game) is the client while the driver is the server. The application/game fills out commands which are usually single threaded while the server (driver) processes them.
Oxide notes that there are problems with this client/server model approach, as DX11 can build commands on multiple threads. But most of the time, "the mechanisms for doing so ended up serializing such that it had minimal if any real benefit", reports Oxide. The other issue with DX11 is that the client/server model has to take into place the amount of work needed to build commands for the GPU, something that won't push a single core, or the client thread can't assemble them on a single CPU core.
This means we'll see scaling and performance numbers coming in as expected until a single CPU becomes saturated. The entire performance of the system is determined from that single CPU core, so if it's saturated, performance can be affected. The last issue with DX11 is that the client/server model has to take into place that the driver has available CPU cores that the game isn't using. The Nitrous engine doesn't treat the API like that, as it'll use any and all cores available, so that the driver thread will fight with game threads.
Oxide has said that it has "spent considerable effort trying to cooperate with driver threads in DX11", but notes that "this ends up being a difficult task". Once Oxide worked its magic on Nitrous with the DX11 side of things, Oxide says that its Nitrous engine is "one of the most efficient D3D11 engines ever built". Take that, consoles.
Explicit Multi-GPU Support - YES!
This is the most exciting part of DirectX 12 and our testing with Ashes of the Singularity, the fact that AotS is the first-ever game with explicit multi-GPU abilities. DX12 allows developers to make use of all of the available GPUs in a system, so Ashes of the Singularity can do AFR (alternate frame rendering) - no matter which GPU is in the system. There could be an NVIDIA GeForce GTX 980 and an AMD Radeon R9 Fury X, and Ashes of the Singularity will make use of them both.
DirectX 12 has two modes of operations when it comes to GPUs: Linked Display Adapter (LDA) and Multiple Display Adapter (MDA). LDA is similar to the way SLI and Crossfire works, where each of the GPUs can be accessed by each other, with some additional features capable of being used.
The second mode, MDA, allows for any two GPUs to be used, no matter the brand or make. DX12's new Shared Fences feature allows developers like Oxide to synchronize commands between the GPUs, sharing the resources through shared memory pools which hang out in system memory. Oxide adds that there's "even a specification for textures to be stored in a cross-vendor standard swizzle pattern to allow sharing to be more efficient".
Asynchronous compute isn't a stranger to tech fans, with AMD pushing it throughout 2015. This is yet another exciting part of DX12, as it allows developers to use multiple command queues, all on a single GPU. This is similar to explicit multi-GPU, but here the idea is that a GPU has multiple graphics, compute and copy queues. This allows work queued up by developers and the game to act in parallel to each other, where it's similar to being automated.
Hardware Required & Our Test Setup
High Requirements, Which is Expected
Oxide recommends that you have 16GB of RAM or more, because if you don't, your benchmark scores might be lower than they should - which is due to disk paging. Oxide recommends between 16-32GB of RAM in order to benchmark Ashes of the Singularity.
On the CPU side of things, Oxide recommends you have a quad-core system at a minimum - I guess we should be fine with our Intel Core i7-5960X processor and 32GB of DDR4 RAM. You'll also need Windows 10 installed to make use of DirectX 12, as it's the only operating system in the world with DX12 support.
Anthony's Video Card Test System Specifications
- Motherboard: ASUS Rampage V Extreme - Buy from Amazon / Read our review
- CPU: Intel Core i7 5960X - Buy from Amazon / Read our review
- Cooler: Corsair H110 - Buy from Amazon / Read our review
- Memory: Kingston 16GB (4x4GB) HyperX Predator DDR4 3000MHz - Buy from Amazon
- Storage #1: SanDisk Extreme II 240GB - Buy from Amazon / Read our review
- Storage #2: Intel 730 Series 480GB - Buy from Amazon / Read our review
- Case: Lian Li PC-T80 Open-Air - Buy from Amazon
- Power Supply: Corsair AX1500i - Buy from Amazon / Read our review
- OS: Microsoft Windows 10 Home 64-bit - Buy from Amazon
- Drivers: NVIDIA GeForce 361.91 and AMD Crimson 16.1.1
Benchmark Results @ 1080p & 1440p
We're going to split this into a couple of pages, looking at 1920x1080 and 2560x1440 on our first page of benchmarks - while cranking things up to 3840x2160 (4K) and 3440x1440 (21:9 UltraWide) on the next page. We aren't really pushing our GPUs to their limits at 1080p, with the strain beginning at 1440p and continuing at 4K.
Ashes of the Singularity - DX12 - 1080p
Ashes of the Singularity - DX12 - 1440p
Benchmark Results @ 4K & 3440x1440
We continue our benchmarks of Ashes of the Singularity, this time at 3840x2160 (4K) and the 21:9 aspect ratio with 3440x1440.
Ashes of the Singularity - DX12 - 4K
Ashes of the Singularity - DX12 - 3440x1440
Performance Summary & Final Thoughts
Wrapping things up, Ashes of the Singularity is a significant step in the DX12 benchmarking path. Until now, we have had nothing to test DX12 with - and absolutely nothing to mix and match our AMD and NVIDIA video cards with - until now.
While the Ashes of the Singularity is just a "Benchmark II tool" for now, the final version shouldn't be too far from what the press has received for testing. The game is being updated all the time, so we can expect better performance as time goes on. Not only that, but NVIDIA and AMD will release drivers that will increase performance in AotS, too.
As for the performance side of things, AMD kills it. Starting off at 1080p, AMD starts off on great footing. The HBM-based Radeon R9 Fury and R9 Fury X beat the competition from NVIDIA. Cranking up to 2560x1440, the HBM-based cards from AMD continue their dominance. The Fury X hits 44.7FPS, compared to the Titan X with just 37.1FPS average - leaving AMD to smash NVIDIA's best card by 17%.
All the way up at 4K, I expected AMD to completely smash NVIDIA, and I was right. With 36.6FPS average, the Fury X totally smashes everything else - with second place being taken by the R9 Fury. Third place goes to the GeForce GTX Titan X with 29.8FPS, falling behind the Fury X by 22.8%. With my favorite resolution of 3440x1440, the Fury X takes the cake once again.
AMD did work with Oxide Games and Stardock on Ashes of the Singularity, which could see AMD hardware is not being favored, but AMD worked with the developers so their hardware would have better code to play with in Ashes, resulting in better performance.
I was hoping to see a performance benefit from HBM, but we're seeing the Radeon R9 390X keep up with the GeForce GTX 980 Ti - and we know the R9 390X is a slower card than the GTX 980 Ti. So we know without a doubt, the great HBM is again wasted on the AMD Radeon R9 Fury and R9 Fury X cards. So what does this DX12 benchmark show? It shows that DX12 is here and that there are more interesting things on the way.
DirectX 12 supports mismatching of video cards, for combined power. This is something we've done, and I'm just polishing up on that article now. It should go live around 24 hours after this, where I've taken a look at mixing an NVIDIA GeForce GTX Titan X with an AMD Radeon R9 Fury X, at the same resolutions we've tested here today: 1080p, 1440p, 4K, and 3440x1440. The results are surprising, and not what I expected - take that as you will.
We're also going to be following up the multi-GPU article with a look at Ashes of the Singularity and its multi-GPU goodness thanks to DX12, at 11,520 x 2160 - one of my favorite resolutions, thanks to it being so damn stressful on the hardware. That's when things are going to get really fun.
PRICING: You can find products similar to this one for sale below.
United States: Find other tech and computer products like this over at Amazon.com
United Kingdom: Find other tech and computer products like this over at Amazon.co.uk
Australia: Find other tech and computer products like this over at Amazon.com.au
Canada: Find other tech and computer products like this over at Amazon.ca
Deutschland: Finde andere Technik- und Computerprodukte wie dieses auf Amazon.de