Balkanized gaming: Nvidia GameWorks now a core part of UE4; AMD counters … – ExtremeTech
A pair of announcements from Nvidia and AMD at GDC today drew up the battle lines for 2014 as both companies announced critical new partners for 2014 and beyond. First, Nvidia announced that its proprietary software libraries, bundled under the GameWorks brand name, are now a core component of Unreal Engine 4. In other words, GameWorks won’t be an added package that developers sign up to use when building games — it’ll be the de facto standard. That’s potentially problematic for anyone who doesn’t own an Nvidia GPU.
AMD, meanwhile, has fired back with news that it’s partnering with Crytek to bring full Mantle support to games built with the new CryEngine — the follow-on successor to CryEngine 3, the engine that powered Crysis 3. Technically this new version of the CryEngine, which was rebuilt from the ground up, is CryEngine 4, but Crytek has recently decided to drop version numbers from its branding — so for now and forever it will simply be called CryEngine.
Both companies were crowing with pride in their respective PR releases, with Tim Sweeney declaring that “Epic developed Unreal Engine 4 on Nvidia hardware, and it looks and runs best on GeForce.” Cevat Yerli, meanwhile, told the world that “By integrating AMD’s new Mantle API, CryEngine will gain a dimension of ‘lower level’ hardware access that enables extraordinary efficiency, performance and hardware control.”
Something for everyone, right? Yes — but not the same something.
Nvidia has shown off some truly impressive UE4 demos at GDC this week, and the Unreal partnership is probably a great thing for PC gamers with Nvidia graphics cards. With UE4 making a serious mobile push and Nvidia’s DX11-capable Kepler GPU debuting in Tegra K1 this year, there’s every reason to expect this partnership to bear some truly impressive mobile fruit. Nvidia has dabbled in Tegra-optimized games for years, but GameWorks support could blow the doors off anything we’ve seen before.
This could be particularly exciting in mobile gaming, where an Nvidia K1 update to the Shield console could offer the best gaming experience on Android, period, but the desktop and laptop side of the story is a little more complicated. At the end of the day, GameWorks libraries are still proprietary Nvidia implementations of DirectX 11 functions. We can assume that those libraries will always maintain basic compatibility with Intel and AMD hardware — but Nvidia will never go out of its way to make GameWorks libraries perform well on competitive hardware. With those libraries baked into Unreal Engine 4 by default, that means the burden is now on AMD and Intel to either provide and fund the creation of third-party replacements or accept whatever level of performance Nvidia allows.
It’s worth nothing, however, that AMD isn’t exactly the flawless white knight in this situation. While Mantle offers developers more freedom, many readers have argued that the API either is or soon will be open source. It isn’t, as confirmed by Robert Hallock of AMD last fall. While AMD has discussed offering an SDK at some point in the future, an open media SDK and code samples do not make the API open source.
AMD has announced no plans to open source Mantle at this time. Until it does, claims that Nvidia could implement Mantle are spurious — even if Nvidia wanted to use Mantle, it can’t implement the standard without permission from AMD.
Why GameWorks worries me
Many readers have raised the question of why I see GameWorks differently than Mantle, given that both are proprietary implementations of either an API or of key facets of an API. Developer freedom to collaborate with every IHV (independent hardware maker) is only part of it. The reason I’m cautious on this front is because we’ve seen what happens when a vendor — any vendor — has too much sway over a supposedly neutral standard. This is one area where Nvidia’s decision to target Direct3D as opposed to its own proprietary API is actually quite smart. If Mantle was hypothetically compatible with Nvidia cards but ran terribly on them, NV users would either blame AMD for sabotaging the standard or conclude that Mantle offered no performance advantages for non-GCN cards.
But if users fire up Daylight, Fable Legends, and Fortnite — each made by a different studio, but all based on the Unreal 4 engine — and see AMD and Intel lagging Nvidia in what they identify as three different games, each utilizing the supposedly-neutral DirectX API? At that point, the user is far more likely to conclude that the problem lies with AMD and Intel’s graphics hardware or their miserable driver teams. We’ve seen precisely this kind of manipulation play out in the past, thanks to the Intel compiler’s “cripple AMD” function.
Are gamers best served by bifurcated markets?
I don’t normally link ten year-old articles to reinforce a point, but I think it’s worth noting that I’ve never been convinced that vendor-centric optimizations are a great thing for the gaming market as a whole. When Doom 3 and Half Life 2 launched, with Doom 3 running better on NV hardware and HL2 far superior on ATI, I raised many of the same concerns I’ve expressed over GameWorks. I see Mantle as more akin to PhysX, in that it’s a special operating mode offered by just one vendor, but were AMD to try and lock people into the standard, I’d have exactly the same problem.
Ultimately, what I care about most is that gamers — all of them — are able to enjoy the games they purchase on hardware that should be capable of running the game. By entrenching itself at the heart of one of the most popular engines on Earth, Nvidia has a great opportunity to create novel gaming experiences — but it’s going to come under a great deal of scrutiny. If the GameWorks libraries are principally tapped to offer effects like TXAA or PhysX support, that’s one thing. If they’re used to create an unfair performance advantage, that’s something else entirely. It’ll be up to Nvidia which way that situation plays out.