AMD shared more nitty-gritty details of its upcoming API and announced more developer support at its APU conference, but its proprietary nature is still its defining problem.
At AMD’s #APU13 conference in San Jose last week company representatives shared more details on its upcoming Mantle API.
While most of these details were geared towards developers who were largely being pitched by AMD on doing their next project with the upstart API, some of these sessions had nuggets of information for the press and consumers.
100,000 draws per frame or bust
One of the big takeaways from the first Mantle keynote at #APU13 was how Mantle would provide developers the ability to do nearly 100,000 draws per frame because of its low level nature.
A draw, or draw call, is the process of sending geometry and texture information to the GPU. A higher number of draw calls means that more stuff can be drawn on screen which leads to better, more detailed graphics. Detailed lifelike graphics with a high depth of field and complex lighting, which is what every next-generation engine is pushing, require a lot of draw calls. Draw calls are effectively a tax on the GPU and developers must work within a draw call budget.
Draw calls is an instance where consoles actually have an advantage over the PC. It’s why hardware from the Bush-era can output graphics in HD that are not as good as those on the PC, but in most cases reasonably close. Rockstar’s recent Grand Theft Auto V is a good example.
“Few of the cores are available [on a multi-core system] for driving graphics today. This is just plain wrong,” AMD’s Guennadi Riguer said on stage in San Jose. “The memory management on PC kinda gets in the way, because on consoles with a much smaller memory footprint, you are actually able to achieve much greater visuals than you could on PCs with bigger memory configurations.”
“We can fix that.”
Developers working on consoles have much closer access to the architecture than they do on a PC and can code more efficiently. The ecosystem of a console is essentially homogenous, in addition Sony and Microsoft allow developers to program write to the GPU with low-level language. In contrast, the PC ecosystem is almost as heterogeneous as it gets, and developers must use a high-level API like DirectX to ensure a broad spectrum of compatibility. Thus, this grand bargain of compatibility means that while console developers may be able to get to use 10-15,000 draw calls on average, PC developers have a window of 3-5,000.
So while PC’s have the power advantage, they are less efficient to code on because of the the thicker “layer” to the hardware.
The claim that Mantle can push out 100,000 draw calls should naturally be met with some healthy skepticism, but it’s not entirely unreasonable either. If AMD can build a more efficient pipeline into the GPU — not impossible considering they know the GCN architecture best — 100,000 draw calls seems like a realistic target.
“What we’re trying to do really re-energize the industry because really over the last couple of years, we’ve been kinda stagnant as an industry,” Riguer said. “We would like to kick it up a notch and really give the tools to make exciting PC games.”
Putting Mantle in practice
At the conference AMD announced that a number of developers had joined the Mantle herd, most notably Eidos Montreal with its upcoming Thief title, as well as the much-anticipated RTS Star Citizen from Chris Roberts of Wing Commander game. Another notable addition was Oxide games, an upstart boutique game developer with a collection of industry veterans at its helm, who are promising great things with their upcoming Nitrous engine.
Of course the anchor to all of this was DICE’s Johan Andersson.
The genesis narrative AMD was promoting during the conference was that Andersson had approached AMD, Intel, and Nvidia with the idea of a low-level API and it was only AMD’s Matt Skynner, its manager of graphics, that said “we can do that”.
(Of course one of the “pink elephants in the room” is AMD paid EA $8 million for a comprehensive Battlefield 4 deal that included everything from marketing to first dibs at Mantle.)
During the conference Andersson said that his Frostbite 3 engine, which powers Battlefield 4, took approximately two months of man hours to build a Mantle version. He said the core renderer is more similar to the PlayStation 4 version than the existing Direct X build, which is an ambiguous comment that could be read in a variety of ways.
Andersson also said that Mantle will be used in over a dozen new Frostbite powered games, from Plants versus Zombies to the new Mass Effect and Star Wars titles.
While Andersson didn’t mention any observed performance improvements with Mantle, Jurjen Katsman from Nixxes, which is working on the PC port of Eidos’ upcoming Thief did. He claimed that they were able to achieve an additional 20 percent GPU performance by because of a reduction in API overhead. Katsman calculates that DirectX has a 40 percent overhead whereas Mantle’s overhead only comes in at eight percent.
An achilles heel, or ‘pink elephant’
Multi-vendor support is a touchy subject when it comes to Mantle. On stage, Andersson said that with Mantle the “pink elephant in the room” was multi-vendor support as Mantle’s functionality is only limited to its own hardware that runs on the GCN architecture. As of now, Mantle is supported on nothing more than AMD’s recent cards that have GCN.
Originally AMD implied that Mantle’s would serve as a bridge between the PC, PS4 and Xbox One to make ports easy on the common architecture. When Sony and Microsoft announced that they would not support Mantle, AMD denied that this was ever the case (though its friendly press still say otherwise).
AMD still has to do more to convince the world that Mantle is not Glide-deluxe. Though the ability to substantially increase draw calls is promising, developers may not be convinced that its worth the man hours if its only compatible with AMD, and not Nvidia or Intel. AMD’s own Roy Taylor, in an interview with VR-Zone in August, lamented the death of PhysX and wrote the eulogy for CUDA by saying by saying “our industry doesn’t like proprietary standards.”
Though John Carmack no longer is a game developer, he summarized the problem with Mantle perfectly at Nvidia’s event in Montreal last month.
“If it was just a way to do, on the PC, lower-level [coding] I couldn’t have cared less,” he said. “I probably would not be embracing Mantle right now. But there would be days where it would be extremely tempting.”