Nvidia Fires Back: The Truth About GameWorks, AMD Optimization, and ‘Watch … – Forbes
Last weekend AMD issued some bold statements to Forbes about Nvidia’s GameWorks developer program, and how it may have impacted performance of Ubisoft’s Watch Dogs on AMD hardware. These claims stretched beyond just Watch Dogs and extended into the greater PC gaming ecosystem, with AMD’s Robert Hallock passionately explaining that GameWorks represents “a clear and present threat to gamers by deliberately crippling performance on AMD products.” Now Nvidia is firing back, intent on setting the record straight.
The article in question made serious waves across the internet and PC gaming community, and giving Nvidia an opportunity to address these claims was the only logical course of action. In the process, I wanted to learn more about GameWorks and determine its influence on partner game developers like Ubisoft. I also wanted to explore any specific legal restrictions that would hinder a company like AMD from optimizing a GameWorks-enabled game on their hardware.
To accomplish that, I reached out to Nvidia’s Cem Cebenoyan, Director of Engineering, Developer Technology. He’s been with Nvidia for 14 years and heads up a group of engineers who work with game developers directly and indirectly. They build the components of the GameWorks effects libraries (TXAA, WaveWorks, FaceWorks, PhysX, etc), and also work with game developers on their implementation.
An Overview of GameWorks
Let’s go back to E3 2012 when Watch Dogs was announced. Nvidia is frequently involved in the development process before a reveal like that even occurs. “We’ll typically have a kick-off meeting with the developers and brainstorm cool new effects, show them a catalog of what we have in terms of libraries,” Cebenoyan explains. “We’ll prototype something outside of their engine to give them an idea what that effect might look like.” His team will speak with the developer’s artists as well, and generally provide insights into performance, features, and effects which may have been otherwise impossible — or at the very least restricted — by a developer’s budget, resources, or simply time.
Further into the development cycle, artists from both Nvidia and the partner developer will again join forces to fine tune elements like particle simulation, fur, or lighting effects. This usually happens about a year before shipping the game. It’s apparently not uncommon for Nvidia engineers to go on-site for a week or two while the game is being developed (in this case Ubisoft’s Montreal studios) to help them integrate features like HBAO+ and TXAA. “We’ll usually do that early,” says Cebenoyan. “For Watch Dogs we did that last year.”
Nvidia’s level of support also encompasses conference calls, working on game builds as they progress, and providing advice to their engineers to ensure the game runs as well as possible on PC.
“We try to make sure every game runs really well on PC and our hardware,” Cebenoyan added. “So we’ll provide advice to game developers regardless of if there’s any GameWorks stuff going on.”
AMD, Driver Optimization, And GameWorks Agreements
One of the more damning statements made by AMD was this:
“Participation in the Gameworks program often precludes the developer from accepting AMD suggestions that would improve performance directly in the game code—the most desirable form of optimization.”
Nvidia’s Cebenoyan responded directly to this during our conversation: “I’ve heard that before from AMD and it’s a little mysterious to me. We don’t and we never have restricted anyone from getting access as part of our agreements. Not with Watch Dogs and not with any other titles. Our agreements focus on interesting things we’re going to do together to improve the experience for all PC gamers and of course for Nvidia customers. We don’t have anything in there restricting anyone from accessing source code or binaries. Developers are free to give builds out to whoever they want. It’s their product.”
Seeking some clarification, I asked if perhaps AMD’s concern was that they’re not allowed to see the game’s source code. Cebenoyan says that a game’s source code isn’t necessary to perform driver optimization. “Thousands of games get released, but we don’t need to look at that source code,” he says. “Most developers don’t give you the source code. You don’t need source code of the game itself to do optimization for those games. AMD’s been saying for awhile that without access to the source code it’s impossible to optimize. That’s crazy.”
As for the Nvidia-specific source code: “The way that it works is we provide separate levels of licensing,” Cebenoyan explains. “We offer game developers source licensing, and it varies whether or not game developers are interested in that. Now, like any other middleware on earth, if you grant someone a source license, you grant it to them. We don’t preclude them from changing anything and making it run better on AMD.”
To put this particular argument to bed, I told Cebenoyan I wanted crystal clear clarification, asking “If AMD approached Ubisoft and said ‘We have ideas to make Watch Dogs run better on our hardware,’ then Ubisoft is free to do that?”
“Yes,” he answered. “They’re absolutely free to.”
And there’s nothing built in to GameWorks that disables AMD performance? “No, never.”
Perhaps more fascinating was Nvidia’s response when I flipped the situation around. What about AMD-partnered titles like Battlefield 4 and Tomb Raider? How much lead time did Nvidia receive — and how much would they need — to optimize Nvidia GPUs for those games? While I didn’t receive a direct answer, what I got was Nvidia returning fire.
“It varies. There have been times it’s been more challenging because of what we suspect stems from deals with the competition,” Cebenoyan says. “It doesn’t happen often. But when it does there’s a fair amount of scrambling on our part. I can tell you that the deals that we do, and the GameWorks agreements, don’t have anything to do with restricting anyone’s access to builds.”
The Truth About Unreal Engine 4 & Direct3D Code
Concern has also been voiced by me and other tech journalists over GameWorks being directly integrated into Epic’s Unreal Engine 4. Specifically, does it represent an unfair competitive advantage, especially taking AMD’s allegation of GameWorks crippling the performance of AMD hardware into account?
Cebenoyan had plenty to offer on the topic: “Yes, it’s fairly tightly integrated. This has been true in working with Epic for years. They’ve long used GameWorks features like PhysX as the cornerstone of their engine. This is true not just on PC but on console as well. They’re a really close partner of ours. Epic isn’t particularly interested in doing things that grossly favor one vendor over another. They’re interested in the technology, so they vet it first and work with us closely to integrate it into the engine to ensure it makes sense for all licensees regardless of what kind of project they’re working on.”
Nvidia’s Bryan Del Rizzo, who was also on the call, was quick to point out that AMD’s claim of Nvidia removing “public Direct3D code samples from their site in favor of a ‘contact us for licensing’ page” simply isn’t true. Nvidia’s developer site contains open source, freely downloadable code samples as recent as March of this year. You can find those here and here.
As anyone who follows the bitter rivalry between Nvidia and AMD knows all too well, this won’t be the end of the story. With the seriousness of the accusations leveled at Nvidia, it was crucial that Nvidia be given an opportunity to address them head on. I’m sure there are subtleties to the quotes and arguments that can be massaged to benefit either side, but at the moment it remains strictly a he said/she said battle. That being said, Nvidia makes a compelling case. Who do you believe?
I’ve also reached out to a third party — Ubisoft — with several questions related to both AMD’s claims and Nvidia’s explanation of their GameWorks partnerships. If their response warrants exposure, you can expect to see it here.