DirectX 12: Unlocking the Xbox One
(Image Credit: CD Projekt Red)
Yesterday we posted an article with details about the key benefits of DirectX 12, and we've since received a lot of questions regarding what features apply to Microsoft's console and to what extent the latest collection of graphics APIs will provide a boost to its capabilities.
The Xbox One uses an architecture by AMD, and therefore the benefits we detailed yesterday will apply to the console. DirectX 11 has been a limiting factor in development for Microsoft's console as developers have been forced to use it, whereas on the PC (and PS4) other options have been available such as Mantle and OpenGL.
Async Shaders have been enabled in DirectX 12, which were not available in its predecessor. A few PS4 titles have gone to the trouble of implementing the feature (such as Infamous: Second Son and Battlefield 4.)
DirectX 12 aims to make this easy to implement, and therefore most large game developers are likely to use it for increased performance in their titles. Some of the biggest games this year won't ship with DirectX 12, but could be added via a post-release patch. MSI originally spoke of Witcher 3 and Batman: Arkham Knight as being two of such titles in this post.
The above example is from a LiquidVR demonstration by AMD, but shows the performance benefits Async Shaders can have under certain conditions. In this scenario, we can see a 72 FPS benefit when the developer opts to use Async Shaders in tandem with a post-processing effect.
Such large performance gains are achieved through allowing the graphics queue to be spread across multiple threads to compute simultaneously and reduce the time in which hardware is left idle from having to wait for other parts of the graphics queue to finish before starting the next job.
This will help to deliver more solid framerates on the Xbox One, and close the performance gap between multi-platform titles. There is a chance that resolution will also be improved, but at the least it will allow more effects to be used in games thanks to more headroom to implement them.
If a resolution bump is to be delivered, it's more likely that it will be due to DirectX 12's ability to efficiently break-down the "command buffer" into smaller tasks and spread them across multiple cores to process faster and relay to the GPU much quicker.
In yesterday's post, AMD highlights "new 'bandwidth' on the CPU allows for higher peak draw calls, enabling more detailed and immersive game worlds" which is how the Xbox One was designed and one reason behind the decision to use ESRAM.
In an interview with Digital Foundry, the Xbox One's architect Andrew Goossen spoke about the decision to increase the clock speed instead of increase the number of compute units: "The primary reason that the 6.6 per cent clock speed boost was a win over additional CUs was because it lifted all internal parts of the pipeline such as vertex rate, triangle rate, draw issue rate etc"
"The relationship between fill-rate and memory bandwidth is a good example of where balance is necessary. A high fill-rate won't help if the memory system can't sustain the bandwidth required to run at that fill-rate," said Goossen.
PS4 developers tend to use OpenGL, of which a spiritual successor called 'Vulkan' was announced at GDC back in March. Vulkan is cross-platform, but is not as "low-level" as PS4's own APIs. Developers who want to target just the PS4 (mostly first party studios) will continue to use the console's own APIs for performance. Few other developers will want to learn or use this due to the difficulty of then bringing their title to other platforms such as PC.
Brad Wardell, CEO of Stardock, said: “If I can just learn Vulkan then I can get to a lot of platforms, I don’t want to have to learn Sony’s special API, even if I would gain a few frames-per-second in doing so.”
We've seen plenty of tests showing the huge benefits of DirectX 12 - including the one below comparing against both 11 and Mantle.
Microsoft has a close partnership with all the major graphics manufacturers who are working to ensure DirectX 12 delivers every last ounce of performance out of their hardware, but Vulkan will likely offer similar results.
Wardell said at GDC: "I've had a lot of meetings with Microsoft, AMD, and a little bit of NVIDIA and Intel - they really need to hit home the fact that DirectX 12, Vulkan, and Mantle, allow all of the cores of your CPU to talk to the video card simultaneously".
"But everyone's really iffy about that, because that means acknowledging that for the past several years, only one of your cores was talking to the GPU, and no one wants to go 'You know by the way, you know that multi-core GPU? It was useless for your games.'"
DirectX 12 will have a huge benefit to Xbox One. It is, essentially, unlocking its potential being held back by an age-old API's lack of understanding in how to utilise multiple threads and cores simultaneously. Vulkan will offer the same to PS4 game developers, and it should be relatively simple to port between each set of APIs. Everyone is a winner.
Do you think DirectX 12 will “unlock” the Xbox One? Let us know in the comments.