In the six months since Mantle’s January launch, it has quickly grown to be incredibly successful: seven game developers have pledged support, four game engines have adopted and 20+ games will be Mantle-based. Within those figures, Crytek and AMD recently announced Mantle support in Cryengine, and AMD joined forces with 2K Games to bring Mantle support to Sid Meier’s Civilization®: Beyond Earth™. In addition, this month marked the start of the private beta program for the Mantle SDK, which boasts another 40 developers committed to exploring the benefits of our revolutionary API.

 

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).

 

api_adoption.PNG.png

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.

 

FOOTNOTES:

  1. http://en.wikipedia.org/wiki/List_of_games_with_DirectX_10_support
  2. http://en.wikipedia.org/wiki/List_of_games_with_DirectX_10_support
  3. AMD internal estimates