With all this momentum for Mantle, we thought it would be a good time to look forwards, backwards and sideways at Mantle to give a comprehensive view of how and why it has achieved overwhelming industry praise. Let’s start, however, by looking at how Mantle reclaims lost performance for gamers.
With a basic implementation, Mantle was designed to improve performance in scenarios where the CPU is the limiting factor (so-called “CPU-bound” cases). CPU-bound scenarios are commonplace in gaming, as existing APIs are laden with heavy validation overhead, and have difficulty scaling out to multiple CPU cores. By addressing these problems, games developed with Mantle improve the experience for the majority of global PC gamers that have entry-level and mid-range processors.
Mantle achieves this through:
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
Mantle is also designed to improve situations where high resolutions and “maximum detail” settings are used, although to a somewhat lesser degree, as thess settings tax GPU resources in a way that is more difficult to improve at the API level (so-called “GPU-bound” scenarios). 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 developer. 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
For even more detail, we recently published our first whitepaper on Mantle. This 11-page brief contains essential technical information on the form and function of the Mantle graphics API. In addition, you might also read these recent blogs by Oxide Games and developer Josh Barczak, which detail some specific and significant ways Mantle is improving their development experience.
Altogether, these mechanisms have proven unquestionably attractive for a legion of game developers, to the extent that the first-year adoption rate for the Mantle API is projected to exceed the adoption rate of DirectX® 11 (see fig. 1 below).
FIGURE 1 - Industry interest in a picture:the number of games in development with Mantle support through Q1 2015.
We’re thrilled to see so many industry luminaries in active development with Mantle in its beta phase, as these studios have a vested interest in making the ideal, high-performance API for PC graphics. Throughout this process, we are discovering new opportunities to reduce inefficiency, and we’re evolving how we make better use of the technologies we have on-hand today.
As the famous lyrics go: “you ain’t seen nothin’ yet!”
Robert Hallock does Technical Communications for Desktop Graphics at AMD. His postings are his own opinions and may not represent AMD’s positions, strategies or opinions. Links to third party sites, and references to third party trademarks, are provided for convenience and illustrative purposes only. Unless explicitly stated, AMD is not responsible for the contents of such links, and no third party endorsement of AMD or any of its products is implied.