Low-overhead graphics APIs like Vulkan (née Mantle) and DirectX 12 are probably the biggest news in game programming in some time, and 3DMark producer Futuremark has developed a benchmarking routine to demonstrate the potential performance gains from these new APIs: the 3DMark API Overhead benchmark. AMD has put the new benchmark to the test, and the company shared its results in a blog post today.
Before we discuss AMD's numbers, let's have a look at how Futuremark summarizes the API Overhead benchmark:
Games make thousands of draw calls per frame, but each one creates performance-limiting overhead for the CPU. APIs with less overhead can handle more draw calls and produce richer visuals. The 3DMark API Overhead feature test is the world's first independent test for comparing the performance of DirectX 12, Mantle, and DirectX 11.
Now, on to AMD's results. These graphs are obviously designed to present AMD's products in a favorable light, but they're still pretty interesting.
The first test result shows raw draw call throughput on the R9 290X and R7 260X. With DirectX 12, the R9 290X handles about 16 times as many draw calls as it does under DirectX 11, while the R7 260X turns in about 9.5 times as many.
DirectX 12 also has implications for performance scaling on multi-threaded CPUs. On an eight-core AMD FX-8350 CPU, the number of draw calls that can be issued under DirectX 12 scales with the number of cores on tap (up to six cores), while DirectX 11 doesn't take advantage of more than two cores. AMD says DirectX 12's multi-threaded command buffer recording capability is to thank for this performance scaling on the CPU.
Some of the primary goals of low-overhead APIs like DirectX 12 are to increase graphics processing while reducing CPU overhead, so it's nice to see those expectations play out in synthetic benchmarks. It remains to be seen how these benchmark numbers will translate into real-world performance gains, however.