What does Mantle Buy You?
Simply put, Mantle is the most advanced and powerful graphics API in existence. It provides essentially the same feature set as DX11 or OpenGL, and does so at considerably lower runtime cost.
The conventional wisdom in real-time rendering is that batches, or “draw calls” are expensive. On the PC, with current APIs, this notion is firmly rooted in fact. This is a problem that has plagued engine and driver design since at least the DX9 era, and a large body of real-time rendering tradecraft is motivated by it (instancing, state sorting, texture atlasing, texture arrays, “uber-shaders”, to name a few). Civilization, it turns out, requires a significant amount of rendering to generate our view of the world, and that in turn means we are required to make many, many more draw calls than you might expect.. Our birds’ eye view of the world means that we have a lot more “stuff” on screen than is typical, and our UI (a rich source of draw calls) is considerably more complex than the average.
Mantle changes things by working at a lower level than its competitors. Much of the work that drivers used to do on an application’s behalf is now the responsibility of the game engine. This means that the Mantle API is able to be backed by a very small, simple driver, which is thus considerably faster. It also means that this work, which must still be done, is done by someone with considerably more information. Because the engine knows exactly what it will do and how it will do it, it is able to make design decisions that drivers could not.
Besides being more efficient, core per core, Mantle also enables fully parallel draw submission (this has been attempted before, but never with the same degree of success). Until now, the CPU work of processing the draw calls could only by executed on one CPU core. By removing this limitation, Mantle allows us to spread the load across multiple cores and finish it that much faster.
All of this means that Mantle has, quite literally, reduced the cost of a draw call by an order of magnitude. This is an amazing technical achievement and difficult for us to exaggerate the importance of this savings. It is a disruptive technical development which will have far-reaching implications for PC gaming. It will alter the dynamics of the market. It will re-write portions of the real-time rendering book. It will change the design of future APIs and engines and greatly enhance their capabilities.
Why did the developers of the upcoming Sid Meier’s Civilization: Beyond Earth decide to optimize the game for the AMD Mantle API and what are the benefits of using the API?
Mantle is an extremely powerful graphics API. It works very efficiently at a much lower level than the game engine and has fully parallel draw submission, which lets us spread the work around multiple cores. For a game like Civilization which renders a significant number of things on the screen, this has reduced the cost of a draw call by an order of magnitude. This is an amazing improvement in performance for us.
The AMD Mantle website states that “Mantle makes game development easier.” If this is so, how does Mantle and the Mantle API make game development easier for developers?
The Mantle API is able to be backed with a much simpler, faster driver. The increased efficiency means that we no longer need to add as much complexity to our rendering pipeline to achieve the required level of performance. Mantle’s simplicity also means that it will probably be more stable over the long run. We anticipate that the bug rate for Mantle to be lower than previous systems we worked with.
Full Article & Source
http://www.firaxis.com/?/S=5845faee...eb5f6cb11/blog/single/why-we-went-with-mantle
http://blog.programmableweb.com/201...hat-will-utilize-new-amd-mantle-graphics-api/
http://www.amd.com/en-us/innovations/software-technologies/mantle#overview
Last edited: