AMD is scheduled to host a discussion on Mantle in collaboration with DICE engineer Johan Andersson, and leaked slides detailing Mantle have hit the internet.
The slides go through an initial introduction to Mantle. Mantle is an API (Application Programming Interface) that gives developers a lot more control over what their games and applications are doing on a Windows system, and far more room to tweak things than they can currently do in DirectX.
Mantle is currently only set to work for GCN (Graphics Core Next) architectures, which covers AMD’s HD7000, R-200, and Kaveri APU lineups.
AMD has said many times that Mantle was a feature that developers asked for. The story goes that Johan Andersson pitched up at AMD’s headquarters and asked them to work with him on a new rendering engine that would be used in Battlefield 4 and all future Frostbite 3.0 titles. AMD agreed and two years later the Mantle update for Battlefield 4 is scheduled to launch in December 2013.
But if developers didn’t want DirectX, why would they prefer Mantle to OpenGL? One of AMD’s answers is draw calls. A draw call is the command given to a GPU to do any thing, like drawing up an object’s frame and applying two textures and a shader to it – that equals about four draw calls.
Currently draw calls for most games are done in batches of 3000-5000 draws because developers cannot predict accurately what hardware will be used to run their game or application, so they limit the number of draw calls into batches to make workloads easier on weaker systems.
AMD says that good developers who spend their time optimising their games are capable of fitting in up to 10,000 draw calls in a single batch. But Mantle supersedes that by allowing for a gigantic one hundred thousand (100,000) draw calls a second.
This has two implications for game developers – either your 3D models improve in visual fidelity because the batch of calls used to render it now numbers in the hundred thousand mark, or your existing batches can be fit into a single, overly large one for simplicity. One scenario improves the image quality of objects in a game, while the other may bring a performance benefit.
But that’s not the only change Mantle brings. The extra functionality of the API allows developers to fiddle with how frames are rendered, how their game reacts with two or more GPUs in play, and use any optimisations they’ve created for console environments to improve performance. The possibilities are almost unfathomable.
There is also the option of having all the hard work being done by the discrete GPU in an APU+GPU system, where the APU is used to add in special effects and post-processing before the final frame is delivered to your monitor, similar to how Intel’s HD graphics engine adds in better smoke effects in GRID 2.
Just how much of a benefit can Mantle bring in terms of performance? We’ll know when Andersson will fire up a demo of Battlefield 4 with an early version of Mantle handling all the rendering and displaying performance numbers for the first time.
AMD has said before that they wouldn’t work on Mantle if the benefits were in the single-digit percentages, so I’m anticipating anything from a 50% and upwards jump in raw framerate.