Mantle was a low-overhead rendering API targeted at 3D video games. AMD originally developed Mantle in cooperation with DICE, starting in 2013. Mantle was designed as an alternative to Direct3D and OpenGL, primarily for use on personal computers, although Mantle supports the GPUs present in the PlayStation 4 and in the Xbox One. In 2015, Mantle's public development was suspended and in 2019 completely discontinued, as DirectX 12 and the Mantle-derived Vulkan rose in popularity.
Overview
The draw call improvements of Mantle help alleviate cases where the CPU is the bottleneck. The design goals of Mantle are to allow games and applications to utilize the CPUs and GPUs more efficiently, eliminate CPU bottlenecks by reducing API validation overhead and allowing more effective scaling on multiple CPU cores, provide faster draw routines, and allow greater control over the graphics pipeline by eliminating certain aspects of hardware abstraction inherent to both current prevailing graphics APIs OpenGL and Direct3D.
CPU-bound scenarios
With a basic implementation, Mantle was designed to improve performance in scenarios where the CPU is the limiting factor:
Low-overhead validation and processing of API commands
Explicit command buffer control
Close to linear performance scaling from reordering command buffers onto multiple CPU cores
Reduced runtime shader compilation overhead
AMD claims that Mantle can generate up to 9 times more draw calls per second than comparable APIs by reducing CPU overhead.
Multithreaded parallel CPU rendering support for at least 8 cores.
GPU-bound scenarios
Mantle is also designed to improve situations where high resolutions and "maximum detail" settings are used, although to a somewhat lesser degree, as these settings tax GPU resources in a way that is more difficult to improve at the API level. While Mantle provides some built-in features to improve GPU-bound performance, gains in these cases are largely dependent on how well Mantle features and optimizations are being utilized by the game engine. Some of those features include:
Reduction of command buffers submissions
Explicit control of resource compression, expands and synchronizations
Asynchronous DMA queue for data uploads independent from the graphics engine
Asynchronous compute queue for overlapping of compute and graphics workloads
Data formats optimizations via flexible buffer/image access
Advanced Anti-Aliasing features for MSAA/EQAA optimizations
Improved performance in Battlefield 4 and up to 319% faster in the Star Swarm demo in single GPU configuration in extremely CPU-limited situations.
Other claims
Easier to port from Mantle to Direct3D 12 than from Direct3D 11 to Direct3D 12
At GDC 14Oxide Games employee Dan Baker stated that Mantle would address fundamental development challenges that could not be addressed by a retrofit of an existing API. It is hard to optimize for the graphics device driver.
At the AMD Developer Summit in November 2013 Johan Andersson, technical director of the Frostbite engine at DICE praised Mantle for making development easier and enabling developers to innovate.
A set of recent OpenGL 4.4 features, coupled with bindless texturing as an extension, can also substantially reduce driver overhead. This approach, termed by the Khronos Group as "AZDO" has been shown to achieve substantial performance improvements, approaching those stated for Mantle. Nvidia has extended OpenGL with a number of features that further reduce driver overhead. After details about DirectX 12 were made public, AMD has stated that they fully intend to support DirectX 12, but at the same time they claimed that Mantle "will do some things faster." They have also claimed that due to similarities in the design philosophy of the two APIs, porting games from Mantle to DirectX 12 will be relatively straightforward, and easier than porting from DirectX 11 to 12. Ultimately, AMD discontinued Mantle as a game API due to the similar aims DirectX 12 and glNext. AMD donated the Mantle API to the Khronos group, which developed it into the Vulkan API.
Comments
Recording and FPS Overlay Software
PC gamers and professionals traditionally used programs such as Fraps and Bandicam to record gameplay, measure game FPS and display FPS overlay, but because Mantle is new, most traditional recording software does not work with new titles while using the new API. In partnership with AMD, PC gaming community and game recording software maker Raptr have overhauled their client and have since re-branded it as the AMD Gaming Evolved client in conjunction with AMD's Gaming Evolved initiative in the PC gaming space. Out of the partnership, players who install and use the client while in-game can earn points to spend on digital items like games or computer hardware, chat with friends, keep their game library optimized, check for graphics card driver updates, stream their games to Twitch and record gameplay of their own with a built-in GVR, a feature similar to Nvidia Shadowplay software in its own GeForce Experience software that allows users to define a custom buffer length in their game for retroactive game recording with the push of a button so no moment gets missed and users typically do not need expensive hard drive setups to record to. In late 2014, AMD updated the client to finally support the recording and streaming of titles using Mantle. As of its initial update into the client, the Gaming Evolved software is still the only software to officially support the recording and streaming of Mantle enabled games. Besides Raptr, D3DGear is the only other commercial game recording software that supports Mantle API based games.