DSOGaming – Ashes of the Singularity – DirectX 12 Real World Tests


Up until recently the performance gains to be found in DirectX 12 were merely guesses, there were a few benchmarks that used DX12 but nothing that gave an indicator to how it affects game performance. Now that Ashes of the Singularity is available in Early Access (Review Coming Soon) we can actually measure how DirectX 12 affects performance in game.

Fortunately for us Ashes of the Singularity comes with a really handy benchmarking tool so that we can easily show the difference in performance between DirectX 11 and DirectX 12.

First of all, here are my specs:

CPU: Intel i7 4790K
GPU: NVIDIA 780Ti
RAM: 32GB
OS: Windows 10
SSD for storage

Now for these tests I went ahead and set my entire system back to base clock so that we can get stable consistent benchmarks across the board. Here are the results:

DirectX 11

== Sub Mark Normal Batch =================================================
Total Time: 60.226936 ms per frame
Avg Framerate: 25.453726 FPS (39.286980 ms)
Weighted Framerate: 24.837635 FPS (40.261482 ms)
Average Batches per frame: 9831.856445 Batches
== Sub Mark Medium Batch =================================================
Total Time: 61.932709 ms per frame
Avg Framerate: 19.666506 FPS (50.847874 ms)
Weighted Framerate: 19.569185 FPS (51.100746 ms)
Average Batches per frame: 21690.908203 Batches
== Sub Mark Heavy Batch =================================================
Total Time: 57.855625 ms per frame
Avg Framerate: 18.822716 FPS (53.127296 ms)
Weighted Framerate: 18.215027 FPS (54.899727 ms)
Average Batches per frame: 46332.730469 Batches

DirectX 12

== Sub Mark Normal Batch =================================================
Total Time: 60.092304 ms per frame
Avg Framerate: 32.350231 FPS (30.911678 ms)
Weighted Framerate: 31.475912 FPS (31.770327 ms)
CPU frame rate (estimated if not GPU bound): 104.143234 FPS (9.602160 ms)
Percent GPU Bound: 100.000000 %
Driver throughput (Batches per ms): 5092.099121 Batches
Average Batches per frame: 10025.499023 Batches
== Sub Mark Medium Batch =================================================
Total Time: 62.053162 ms per frame
Avg Framerate: 24.946350 FPS (40.086025 ms)
Weighted Framerate: 24.651777 FPS (40.565025 ms)
CPU frame rate (estimated if not GPU bound): 84.904152 FPS (11.777987 ms)
Percent GPU Bound: 100.000000 %
Driver throughput (Batches per ms): 6828.028320 Batches
Average Batches per frame: 22584.240234 Batches
== Sub Mark Heavy Batch =================================================
Total Time: 57.862873 ms per frame
Avg Framerate: 22.812555 FPS (43.835510 ms)
Weighted Framerate: 22.597780 FPS (44.252136 ms)
CPU frame rate (estimated if not GPU bound): 53.867039 FPS (18.564228 ms)
Percent GPU Bound: 99.935158 %
Driver throughput (Batches per ms): 5368.355469 Batches
Average Batches per frame: 49178.707031 Batches

Now you notice that the DX 12 benchmark has a bit more results and that is to show where my system is being bottlenecked. In the case of Ashes of the Singularity the bottleneck is my GPU, but the game is still in the Early Access stages so likely there will be more improvements down the line.

Unfortunately I could not test how VRAM is treated differently in DirectX 12 as I have a single card setup. Only time will tell how DX12 will impact performance on future releases.