AMD’s new Mantle API will likely be familiar to many of you by now, and it’s looking to be an impressive piece of technology. I’ve already wrote a large piece on AMD’s Mantle (click for article) but now we’re learning even more exciting details of the new API.
Firstly, let’s talk about the fact it does indeed work on Nvidia hardware and not just AMD’s GCN graphics cards. This isn’t just about AMD having good PR with gamers, but also to help games developers adopt the technology – which is vital if AMD wishes it to gain popularity. Mantle is a low level API which has been created to improve performance by increasing raw access to the GPU (more on that in a moment). AMD have been focused on improving the flow of data between the CPU and GPU, and many guessed that AMD would use it as a major selling point for AMD’s own Radeon line of graphics cards. But, now it’s clear that this isn’t the plan. One of the issues with Nvidia’s Hardware Physx is that it proprietary and therefore, if you own an AMD card, you’re just plain out of luck. This means that only a small percentage of games developers are willing to write the code required to use it – as in effect, only roughly half their audience will be able to use it.
AMD have specifically stated that “Mantle is designed to be a thin hardware abstraction – not tied to AMD’s GCN architecture”. It’s still fairly unclear how this will work in practice, and just how Nvidia will implement the support into the current Geforce range of cards. Previously, AMD had dropped many hints that the mantle API would work with the GCN architecture only, but obviously this is not the case any longer. I wait to see what Nvidia will do with this technology, as it may require anything from a subtle change in their drivers, to a complete re-write or maybe even a change in the design of their Geforce GPU’s themselves.
PS4’s library and Mantle are similar
The good news is that the mantle API will be similar to the PS4 library. This was revealed at AMD’s APU13 presentation, and in addition they’ll be pushing Frostbite’s design based on these key pieces of technology. The rep speaking also mentioned that the Mantle API and the PS4’s library are going to be much closer together than Mantle and Microsoft’s DirectX11. DX11 as we know has many issues, and a lot of the problems revolving around PC performance is currently directly linked to DX11. The similarity between Mantle and the PS4 isn’t the only one for AMD, there was news recently that AMD’s TrueAudio technology has more than a little in common with the PS4’s Audio DSP (article).
AMD’s Guennadi Riguer was speaking during the developer summit and said that the current API’s are only capable of getting games developers “so far”.
“What we’re trying to do really re-energize the industry because really over the last couple of years, we’ve been kinda stagnant as an industry,” he said. “We would like to kick it up a notch and really give the tools to make exciting PC games.”
“We have a bunch of interesting features that allow you to unlock performance never before possible,” he said. “Some of those are generic, others are targeted more at GCN architecture. So there’s a wide range of different things to enable very good performance. And while GPU performance is very important, I think this solution will blow your socks off in terms of CPU utilization.” – Guennadi Riguer
AMD Mantle – At Least 100,000 Draw Calls
He mentioned that PC developers can currently get between 3 to 5 thousand draw calls per frame if we’re talking at a 60HZ game. As we discussed in the previous article this is an issue with DirectX, basically eating up a lot of processor power. Consoles are capable of far more draw calls than a PC, and this is with far inferior CPU’s. The CPU is so swamped with such a heavy abstraction layer that it literally just cannot keep up. Much of the CPU usage can go to just simply running the DX code.
This won’t be the case for the Mantle API. AMD have boasted that they are targeting a rather astounding figure of 100,000 draw calls, at what they consider to be “reasonable frame rates”. They believe that the figure of 100,000 draw calls can also be improved upon with more optimization! That’s an astounding figure, and the increase in graphical detail in PC games would be astounding.
“The key today to great performance is multi-threading,” he said. “All of us have many core systems: four, six, eight core systems. And the problem is very few of those cores are available for driving graphics today. This is just plain wrong. The memory management on PC kinda gets in the way, because if you think about it, on the consoles with a much smaller memory footprint, you are actually able to achieve much greater visuals than you could on PCs with bigger memory configurations. We can fix that.” – Guennadi Riguer
“Mantle is not expensive to support. It’s fairly cheap. And I think the big key for us is that it’s a fixed cost. We’re basically going to port our driver interface layer once and then it’s just going to work and there’s not a whole lot of extra maintenance we have to do to support it. And the really big thing we’re excited about is to push the industry forward, to try out new techniques and new APIs.” – Tim Kip of Oxide Games.
This isn’t just limited to draw calls either, but also higher batch counts. By 2015 they’ll be able to hit 300,000 – and 1 million at the magic 60FPS by 2018.
With the PS4 no doubt going to be ‘fairly popular’ for gamers, no doubt Mantle having more than a few things in common with it can’t hurt anything. It’s of course up to Nvidia if they want to adopt the technology, and AMD have admitted that not every developer will want to use or even need to use Mantle. Some games (for example, non graphically intensive indie games) just won’t need to use it. But there is one thing for certain, for the games which are pushing the bleeding edge, we’ll need to see a change.