Exploring DirectX 12: 3DMark API Overhead Feature Test
by Ryan Smith & Ian Cutress on March 27, 2015 8:00 AM EST- Posted in
- GPUs
- Radeon
- Futuremark
- GeForce
- 3DMark
- DirectX 12
Integrated GPU Testing
Switching gears from high performance discrete GPUs, we have our integrated GPUs. From a high level overview the gains from DirectX 12 are not going to be quite as large here as they are with dGPUs due to the much lower GPU performance, but there is still ample opportunity benefit from increased draw call performance.
Here we have Intel’s Haswell CPUs, and AMD’s Kaveri APUs. We'll start off with the higher-end processors, the Intel Core i3/i5i7 and AMD A10/A8.
As expected, at the high-end the performance gains from DirectX 12 are not quite as great as they were with the dGPUs, but we’re still seeing significant gains. The largest gains of course are found with the AMD processors, thanks to their much stronger iGPUs. From DX11ST to DX12 we’re seeing a surprisingly large 6.8x increase in draw call performance, from 655K to 4,470K.
As to be expected, with a relatively weak CPU, AMD’s DX11 draw call performance isn’t very strong here relative to their strong GPU and of course our more powerful dGPUs. Still, it ends up being better than Intel (who otherwise has the stronger CPU), so we see AMD offering better draw call throughput at all levels. Ultimately what this amounts to is that AMD has quite a bit more potential under DX12.
Mantle meanwhile delivers a very slight edge over DX12 here, although for all practical purposes the two should be considered tied.
Meanwhile for the Intel CPUs, the gains from DX12 aren’t quite as large as with the AMD processors, but they’re still significant, and this is why Intel is happily backing DX12. All 3 processors share the same GT2 GPU and see similar gains. Starting from a baseline of 625K draw calls under DX11 – almost identical to AMD – the i7-4790K jumps up by 3.2x to 2,033K draw calls under DX12. The i5 and the i3 processors see 1,977K and 1,874K respectively, and after adjusting for clockspeeds it’s clear that we’re GPU command processor limited at all times here, hence why even a 2 core i3 can deliver similar gains.
Intel does end up seeing the smallest gains here, but again even in this sort of worst case scenario of a powerful CPU paired with a weak CPU, DX12 still improved draw call performance by over 3.2x. This means that in the long run even games that are targeting lower-performance PCs still stand to see a major increase in the number of draw calls they can use thanks to DirectX 12.
The story is much the same with our lower performance processors. AMD continues to see the largest gains and largest absolute performance under DirectX 12. With a 7x performance increase for the A8, even this weaker processor benefits greatly from the use of a low-level API.
The Intel processors see smaller gains as well, but they too are similarly significant. Even the Pentium with its basic GT1 processor and pair of relatively low clocked CPU sees a 2.7x increase in draw call performance from DirectX 12.
113 Comments
View All Comments
nrexz - Friday, March 27, 2015 - link
How much can they do with it really? Games will still be developed to the limits of the consoles not pc's.Also, I'm not sure if I should be impressed or sad that Forbes published this yesterday.
nathanddrews - Friday, March 27, 2015 - link
That might be an oversimplification. If anything, this could result in console ports NOT running like crap. What's the biggest complaint about ports? That the game is tailored "to the metal" of a console, making port to such a variety of PCs more difficult to develop.Think about it - when designing games around the Xbone/PS4, they tailor the games for eight cores and are not restricted by DX11 call limits or RAM - only the GPU power, but then when they port to PC, those optimized engines have to sludge through the DX11 pipeline before tapping into the GPU. With that restrictive pipeline removed (and GPUs shipping more RAM), those game engines can operate more efficiently in multicore PCs.
It's not a cure-all (low-res textures), but I think this could be the start of a revolution in which ports stop sucking.
Flunk - Friday, March 27, 2015 - link
The current consoles both have 8GB of RAM, all of which is GPU-addressable, so texture resolution shouldn't really be a problem.Also, the Xbox One is built around DX11 so this will be helpful for that. Frankly DirectX 12 will be helpful because it will make Xbox One -> PC ports easier so hopefully we'll either see more of them or see better ports.
It's not really a big worry anyway, this is quite likely the last console generation anyway.
happycamperjack - Friday, March 27, 2015 - link
Only about 5 to 5.5GB of RAM is consoles are usable. The rest are reserved by OS.Laststop311 - Saturday, March 28, 2015 - link
I think its actually 3-3.5GB reserved for the system so 4.5-5GB available to the GPUnathanddrews - Friday, March 27, 2015 - link
My comment about low-res textures has to do with the fact that Xbone/PS4 don't always use the same high-res texture packs available to PC users and that DX12 won't help with that in either scenario.The API Xbone runs is far removed from its PC counterpart. It's a heavily modified "Direct3D 11.X" that is built exclusively for Xbone, which removes the overhead that Windows DX11 has to deal with. In PC terms, it's effectively a superset of DX11.2 features running with DX12 efficiency.
"Microsoft, though, claims that the Direct3D 11.X for Xbox One features significant enhancements in the area of runtime overhead, which results in a very streamlined, 'close to metal' level of runtime performance."
DERSS - Saturday, March 28, 2015 - link
"Close to metal"?Maybe they meant "Close to silicon"? Or they meant to compare with Apple's Metal for iOS?
deruberhanyok - Saturday, March 28, 2015 - link
It's just an expression.Way back before Apple had "Metal", ATI had "Close to Metal" (http://en.wikipedia.org/wiki/Close_to_Metal), and even earlier than that, S3 had their own API, also called Metal.
It just means being able to code with as little overhead as possible. The idea is to have very little between the application and the hardware running it, to get as close to the maximum possible performance as you can.
Navvie - Tuesday, March 31, 2015 - link
The term goes back to the C64 and Amiga demo scenes. Programming in assembler without an API and literally "hitting the metal".Silicon is a metalloid element, so "hitting the metal" doesn't really need correcting.
Kidster3001 - Wednesday, April 1, 2015 - link
The 'metal' comes from an old saying: 'bare metal'. It's still used in the compute industry when referring to special testing that bypasses OS and driver layers, talking to the silicon directly.