Who needs DirectX? AMD, Nvidia, and Intel team up to demo ultra-efficient … – ExtremeTech
Most of the focus at Nvidia’s Games Developers Conference (GDC) event has been focused on DirectX, but a rare three-way presentation between Nvidia, Intel, and AMD has emphasized that Microsoft’s API isn’t the only place where innovation happens. According to the trio, it’s absolutely possible to deliver huge OpenGL performance improvements and to significantly reduce driver overhead.
According to the presenters (Graham Sellers, Tim Foley, John McDonald, and Cass Everitt), OpenGL already has solutions in place that can drastically reduce driver overhead and improve performance in certain areas. Even more importantly, support for these functions is, to use their phrasing, “at least multivendor (EXT) and mostly core (GL 4.2+).” The capability exists in the vast majority of shipping solutions today.
The discussion (the full presentation is available on Nvidia’s blog page) focuses on optimizing workflows and using OpenGL capabilities like persistent mapping, sparse texturing, and packing textures into 2D arrays. Each company talked about a different focus of the problem, and much of the discussion is frankly over my head — I’m not a programmer. Some of the performance claims for these methods, however, were quite impressive.
How is OpenGL positioned against DirectX 12, Mantle?
We turned to Graham Sellers, the self-described “OpenGL guy” at AMD and author of the OpenGL Red Book, for some additional context around the API’s capabilities. If OpenGL is capable of delivering all these improvements, why does Mantle exist at all — and why haven’t developers taken advantage of them already?
According to Sellers, OpenGL doesn’t necessarily have the best reputation with game developers. AMD, Nvidia, and even Intel have all spent more than a decade talking up Direct3D as the future of gaming. id Software used OpenGL for titles like Doom 3 and Rage, but most of the support for OpenGL in gaming has been on the Linux and Mac side of the equation.
While it’s true that Nvidia may have stepped up its focus on OpenGL’s advantages, Sellers also points out that AMD and Nvidia have been talking about building better implementations of OpenGL software for the past 3-4 years. Developer interest in OpenGL performance has increased over the past few years thanks to the advent of OpenGL ES and Valve’s decision to build its own Linux-based Steam Box. Further support from Valve could help put the Steam OS on an equal footing with Windows.
Sellers also clarified that taking full advantage of OpenGL’s low overhead features will take some work. According to him, taking full advantage of the API requires “game engine and tool-chain changes, and is somewhat of a shift in paradigm compared to what traditional graphics is today.”
The flip side to this, however, is that these shifts might product improvements even more impressive than what DirectX and Mantle offer — and they’re available to an even wider range of hardware. Mantle is AMD-only. DirectX 12 will run on Fermi, Kepler, Maxwell, and GCN but won’t be available until late 2015 at the earliest. OpenGL, in contrast, is available now.
I think it’s fair to be skeptical about whether this marks a turning point for OpenGL’s widespread use as a gaming API, but keep in mind that these are technical talks, not marketing-driven presentations. The goal of such sessions is not to persuade programmers that OpenGL is the best in a hypothetical three-way with Mantle and a future DX12 but to present them with practical implementation ideas for driving maximum performance now.
Sellers implied that OpenGL may actually be able to deliver greater performance efficiency than either of the other two APIs because both Mantle and DX12 appear to be focused on reducing the cost of switching states and assembling data. These are huge factors in certain circumstances (we’ve seen the positive impact on AMD CPUs), but it’s still just one aspect of total driver overhead. OpenGL offers these benefits and others — it’s just that not many companies or vendors have tried to squeeze better performance out of the API (though Valve made headlines with its own OpenGL porting efforts in Left 4 Dead 2.
Shifting focus could give OpenGL a window of opportunity
There’s reason to be cautiously optimistic. One could argue that the reason CPU overhead has suddenly become important in the last few years is because CPUs no longer scale the way they used to. It’s no accident that when Nvidia went back to build Maxwell, they prioritized saving power and improving efficiency even on the same process node. With CPU speeds largely stagnant, a greater emphasis is being placed on reducing bottlenecks and improving performance by building better hardware and better software.
Combine that trend with the fact that Windows and Direct3D exert less influence over the total universe of game development now than perhaps at any previous point in history. OpenGL may still account for a fraction of the API space, but its market share is growing thanks to the influx of mobile developers. With Valve throwing its weight behind Linux and more attention being given to squeezing more performance out of existing hardware through improved software efficiency, OpenGL could mount a quiet comeback campaign over the next 12-18 months.