We’ve said much about Mantle’s goals and merits of late, but now it’s time to listen directly to the brilliant people who are actually in the business of making games.
Dan Baker, a partner at Oxide Games and the former graphics lead for Sid Meier’s Civilization® V, knows a thing or two about driver overhead and graphics APIs. In an interview conducted by MaximumPC regarding their Mantle-enabled “Nitrous” engine, he explained that Mantle is a cure for an industry that is in need of greater parallelization.
“[…]APIs are still designed in this functional threading model where you have a series of processes that pass work back and forth to each other. The idea is that you have say, one thread for rendering, one thread for audio, one thread for gameplay, etc. This is really not a scalable way to build things,” Baker said.
“In situations where you have a shared L3 cache, you also create contention from all the different processes running, since they all access completely different memory. The industry continues to move to a job-based setup, where we have lots of tiny jobs that run asynchronously. This can now scale to a large number of CPUs, and we can fill up most of the previously unused time where one of the processors isn't doing something.”
On the topic of driver overhead, Baker’s insights were also particularly enlightening, noting that his team has been “completely limited in what [they] could do by driver overhead problems.” With Mantle, however, his team rapidly discovered that Mantle is such an elegant solution that it “dwarfs” the Direct3D 11 performance they could achieve in their engine with any hardware vendor.
The team at Firaxis, authors of the upcoming Civilization: Beyond Earth, unequivocally voiced the same opinion in a recent blog on Mantle: “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.”
For game developers, who live and breathe time-to-market pressures on their titles, Mantle has an added benefit. Mantle is their only opportunity to spend less time “tricking the system” to overcome software limitations, and more time getting on with the business of designing cool stuff for gamers. Our development partners have praised Mantle for reducing developmental complexity, which cannot always be said for API extensions or laborious code optimization efforts.
A notable proponent of this philosophy is Chris Roberts, CEO of Cloud Imperium Games and the brains behind Kickstarter sensation “Star Citizen.” In announcing support for Mantle, he noted that the API was key for achieving his vision without fighting the software to get there.
"AMD's Mantle will allow us to extract more performance from an AMD Radeon GPU than any other graphics API," Roberts said. "Mantle is vitally important for a game like Star Citizen, which is being designed with the need for massive GPU horsepower. With Mantle, our team can spend more time achieving our perfect artistic vision, and less time worrying about whether or not today’s gaming hardware will be ready to deliver it."
Firaxis also had something to say on this topic, noting that Mantle’s thinner abstraction layer empowers them to make better-informed game development decisions.
“The Mantle API is able to be backed by a very small, simple driver, which is thus considerably faster,” Firaxis said in their blog. “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.”
Dan Baker has a related philosophy, noting in his opening remarks (figure 1) at GDC14 that Mantle addresses fundamental development challenges that cannot addressed by a retrofit of an existing API.
FIGURE 1: Dan Baker of Oxide Games said it plainly when he presented this slide at the 2014 Game Developer Conference: you can’t retrofit old APIs.
Baker continued this line of thinking in a recent blog, saying: “[…] many of the most experienced developers, Oxide included, had for years advocated a lighter, simpler API that did the absolute minimum that it could get away with. We believed we needed a teardown of the entire API rather than some modifications of current APIs.”
Johan Andersson, technical director of the Frostbite engine at DICE, has also praised Mantle for making development easier. That was the central theme of his keynote presentation at the APU13 developer conference late last year, which opened with exactly that sentiment (figure 2).
FIGURE 2: An opening slide from Johan Andersson's keynote presentation at the AMD APU13 developer conference.
In review, it is evident that Mantle is addressing a clear need within the industry to reimagine or reinvent the graphics API, and to flush out tired problems that have long stifled game development. Together, AMD and top game developers are collaborating not only to undertake that effort, but to share the results widely throughout the gaming industry so that gamers of every stripe might ultimately benefit.
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.
*Originally posted by Robert Hallock in AMD Gaming on May 28, 2014 11:55:15 AM