http://www.developer-tech.com/news/2014/aug/13/directx-12-boosts-fps-50-and-cuts-power-consumption-half/
TL;DR: 50,000 draw calls on a Surface Pro 3 done in DX11 and DX12. DX12 version saw 50% more FPS and lower power consumption simply but increased CPU utilization with a lower level of hardware abstraction. Big gains coming to the PC in the future. Consoles do not have the bottleneck thus it won't apply to them.
Full writeup:
I'll preface this by saying this is for one tech demo that was ran on a Surface Pro 3 (Microsoft Tablet) with a HD4400 graphics chip.
The demonstration did 50,000 unique objects with equates to 50,000 draw calls per frame. They used procedural generation to generate the meshes which created the objects. Draw calls are some of the most expensive things a GPU does and is a huge software bottleneck as currently DX11 uses a higher level of hardware abstraction (one-size-fits all approach) that isn't easily multithreaded and is lower due to the higher level nature. DX12 provides a lower level of hardware abstraction (less one-size-fits-all) and thus allows for much better multithreading of draw calls and better CPU utilization reducing overhead.
The CPU will still be part of the equation. CPUs are still used to feed information to the GPU. The scenes are built on the CPU and then sent to the GPU through draw calls. Of course there are also ways to utilize the GPU to do certain CPU operations to reduce the overhead of calculations (physics for the most part). In certain situations it's faster to send time communicating information between the CPU and GPU, running the stuff on the GPU, and then sending it back to the CPU to finish building the frame than it is to do it all on the CPU.
Running DX11 they were able to get 19 FPS on this system doing the 50,000 draw calls. With DX12 they were getting 33 FPS. This also increase the efficiency of each draw call lowering the power consumption and heat of the GPU as it doesn't have to work as hard. Thus we saw an FPS boost and power consumption drop (which means less heat).
Now this is only a tech demo but these gains are very promising. This was a huge gain on a very weak mobile device. The gains will be reflected with more powerful hardware so with DX12 we should be able to see better CPU and GPU utilization allowing our existing GPUs to perform far better on games.
OpenGL 4.5 has also been released (or about to be released) and it too is focusing on lowering the hardware abstraction to try to get similar performance gains.
This all only really applies to the PC as consoles do not have that higher level of hardware abstraction because there is no need for a "one-size-fits-all" approach as a console only has one level of hardware. This has allowed GPUs to be used far more efficiently and thus has gotten better performance out of console hardware than comparable PC hardware. We saw a 50% gain in FPS here simply from better CPU utilization through a lower level API yet that level is still higher than a consoles so there is reason to believe that the consoles even get better utilization of their hardware. This is why despite the PS3/360 being so old, they could do modern rendering techniques even if it was at lower resolutions/framerates.
So don't think this is going to boost the power of the Xbox One. This lower level abstraction of hardware is loosening up a bottleneck that simply does not exist on a console.
Log in to comment