A whole plethora of new Mantle information has come to light from AMD's Robert Hallock. There is far too much new and exciting information to simply tack on to the end of an older Mantle thread, so bear with me while i relay it.
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
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.