To say there’s a bit of excitement for DirectX 12 and other low-level APIs is probably an understatement. A big understatement. With DirectX 12 ramping up for a release later this year, Mantle 1.0 already in pseudo-release, and its successor Vulkan under active development, the world of graphics APIs is changing in a way not seen since the earliest days, when APIs such as Direct3D, OpenGL, and numerous vendor proprietary APIs were first released. From a consumer standpoint this change will still take a number of years, but from a development standpoint 2015 is going to be the year that everything changed for PC graphics programming.

So far much has been made about the benefits of these APIs, the potential performance improvements, and ultimately what can be done and what new things can be achieved with them. The true answer to those questions are that this is going to be a multi-generational effort; until games are built from the ground-up for these APIs, developers won’t be able to make full use of their capabilities. Even then, the coolest tricks will take some number of years to develop, as developers become better acquainted with these new APIs, their idiosyncrasies, and the capabilities of the underlying hardware when interfaced with these APIs. In other words, right now we’re just scratching the surface.

The first DirectX 12 games are expected towards the end of the year, and in the meantime Microsoft and their hardware partners have been ramping up the DirectX 12 ecosystem, hammering out the API implementation in Windows 10 while the hardware vendors write and debug their WDDM 2.0 drivers. Meanwhile as this has been going on, we’ve seen a slow release of software released designed to showcase DirectX 12 features in a proof of concept manner. A number of various internal demos exist, and we saw the first semi-public DirectX 12 software release last month with our look at Star Swarm.

This week the benchmarking gurus over at Futuremark are releasing their own first run at a DirectX 12 test with their latest update for the 3DMark benchmark. Futuremark has been working away at DirectX 12 for some time – in fact they were the first partner to show DirectX 12 code in action at Microsoft’s 2014 DX12 unveiling – and now they are releasing their first DirectX 12 project.

In keeping with the general theme of the demos we’ve seen so far, Futuremark’s new DirectX 12 release is another proof of concept test. Dubbed the 3DMark API Overhead Feature Test, this benchmark is a purely synthetic benchmark designed to showcase the draw call benefits of the new API even more strongly than earlier benchmarks. Whereas Star Swarm was a best-case scenario test within the confines of a realistic graphics workload, the API Overhead Feature Test is a proper synthetic benchmark that is designed to test one thing and one thing only: how many draw calls a system can handle. The end result, as we’ll see, showcases just how great the benefits of DirectX 12 are in this situation, allowing for an order of magnitude’s improvement, if not more.

To do this, Futuremark has written a relatively simple test that draws out a very simple scene with an ever-increasing number of objects in order to measure how many draw calls a system can handle before it becomes saturated. As expected for a synthetic test, the underlying rendering task is very simple – render an immense amount of building-like objections at both the top and bottom of the screen – and the bottleneck is in processing the draw calls. Generally speaking, under this test you should either be limited by the number of draw calls you can generate (CPU limited) or limited by the number of draw calls you can consume (GPU’s command processor limited), and not the GPU’s actual rendering capabilities. The end result is that the API Overhead Feature Test can push an even larger number of draw calls than Star Swarm could.

To showcase the difference between various APIs, this test is available with DirectX 12 and Mantle, but also two different DirectX 11 modes. Standard DirectX 11 single-threading is one mode, alongside support for DirectX 11 multi-threading. The latter has a checkered history – it never did work as well in the real world as initially hoped – and in practice only NVIDIA supports it to any decent degree. But regardless, as we’ll see DirectX 12’s throughput will put even DX11MT to shame.

FutureMark’s complete technical description is posted below:

The test is designed to make API overhead the performance bottleneck. The test scene contains a large number of geometries. Each geometry is a unique, procedurally-generated, indexed mesh containing 112 -127 triangles.

The geometries are drawn with a simple shader, without post processing. The draw call count is increased further by drawing a mirror image of the geometry to the sky and using a shadow map for directional light.

The scene is drawn to an internal render target before being scaled to the back buffer. There is no frustum or occlusion culling to ensure that the API draw call overhead is always greater than the application side overhead generated by the rendering engine.

Starting from a small number of draw calls per frame, the test increases the number of draw calls in steps every 20 frames, following the figures in the table below.

To reduce memory usage and loading time, the test is divided into two parts. The second part starts at 98304 draw calls per frame and runs only if the first part is completed at more than 30 frames per second.

Draw calls per frame Draw calls per frame increment per step Accumulated duration in frames
192 – 384 12 320
384 – 768 24 640
768 – 1536 48 960
1536 – 3072 96 1280
3072 – 6144 192 1600
6144 – 12288 384 1920
12288 – 24576 768 2240
24576 – 49152 1536 2560
49152 – 98304 3072 2880
98304 – 196608 6144 3200
196608 – 393216 12288 3520
Other Notes & The Test
Comments Locked

113 Comments

View All Comments

  • Vayra - Saturday, March 28, 2015 - link

    Oh hi Star Citizen, how are you today.
  • Michael Bay - Sunday, March 29, 2015 - link

    Wait until they hit optimizations stage.
  • Refuge - Friday, March 27, 2015 - link

    As mentioned below this will make the ports much more scalable to PC's. So when taking a game meant ton run on 6 year old hardware meets brand new hardware it isn't like taking a Porsche 911 from your city streets to a mud pit like it is now. It will be more like going from the city to the Autobahn.

    Ports will actually run better on better computers, not worse. Also, it will speed up the time of release for ports, in fact in a few years I wouldn't be surprised if multiform games were released on consoles and PC's at the same time as standard policy.
  • Belgarathian - Friday, March 27, 2015 - link

    I'm more interested in being able to display more dynamic enviroments with more artifacts, more units on screen etc.

    Can someone please remaster Supreme Commander Forged Alliance for DX12, and fix the bad AI. SC:FA is by far the best RTS, it's a shame that it was released before the technology was there to support it.
  • DarkXale - Sunday, March 29, 2015 - link

    The performance issues with SupCom Forged Alliance Forever (or you're just doing it wrong), are from the sheer quantity of units the game needs to manage. Not the number of issued drawcalls.

    The 'gameplay' simply requires the CPU to do too much - all of which must be done in a single thread - for any machine to reasonably manage in large games. DX12 can't help much with that.
  • FlushedBubblyJock - Tuesday, March 31, 2015 - link

    Q: " How much can they do with it really? "
    A: "How much did mantle do ?"
  • akamateau - Thursday, April 30, 2015 - link

    Hmmmm... yes you are right. Partially. Console games will be developed to the limit of the console and Microsoft just announced that DX12 was going into XBOX.

    AMD 8 core Jaguar will scale much higher tan 4.4 million draw calls on XBOX.

    But you also have to realise the GAMES are about the storey and eye candy. Games studios are also highly competitive. It is the nature of business that all things evolve to the lowest limiting factor. Until now DX11 was THE factor that limited the size and complexity of games. DX12 removes those limits.

    Expect games to be photorealistic at 4k easily!

    So the decision the consumer must make si simple. Great gaming with exensive Intel silicon or better gaming with inexpensive AMD silicon!!!
  • akamateau - Thursday, April 30, 2015 - link

    FINALLY THE TRUTH IS REVEALED!!!

    AMD A6-7400 K CRUSHES INTEL i7 IGP by better than 100%!!!

    But Anand is also guilty of a WHOPPER of a LIE!

    Anand uses Intel i7-4960X. NOBODY uses RADEON with an Intel i7 cpu. But rather than use either an AMD FX CPU or an AMD A10 CPU they decided to degrade AMD's scores substanbtially by using an Intel product which is not optimsed to work with Radeon. Intel i7 also is not GCN or HSA compatible nor can it take advantage Asynchronous Shader Pipelines either. Only an IDIOT would feed Radeon GPU with Intel CPU.

    In short Anand's journalistic integrity is called into question here.

    Basically RADEON WOULD HAVE DESTROYED ALL nVIDIA AND INTEL COMBINATIONS if Anand benchmarked Radeon dGPU with AMD silicon. By Itself A6 is staggeringly superior to Intel i3, i5, AND i7.

    Ryan Smith & Ian Cutress have lied.

    As it stands A10-7700k produces 4.4 MILLION drawcalls per second. At 6 cores the GTX 980 in DX11 only produces 2.2 MILLION draw calls.

    DX12 enables a $150 AMD APU to CRUSH a $1500.00 Intel/nVidia gaming setup that runs DX11.

    Here is the second lie.

    AMD Asynchronous Shader Pipelines allow for 100% multithreaded proceesing in the CPU feeding the GPU whether it is an integrated APU or an 8 core FX feeding a GPU. What Anand sould also show is 8 core scaling using an AMD FX processor.

    Anand will say that they are too poor to use an AMD CPU or APU set up. Somehow I think that they are being disingenuous.

    NO INTEL/nVidia combination can compete with AMD using DX12.
  • RandomUser15 - Friday, March 27, 2015 - link

    First and foremost this is the first comment, also great article, very well done!
  • RandomUser15 - Friday, March 27, 2015 - link

    Damn, nooooooooo.

Log in

Don't have an account? Sign up now