Earlier today, I spoke with Cem Cebenoyan, Director of Engineering for Developer Technology at Nvidia, who offered a rebuttal to a Forbes story we covered yesterday. In that story, AMD's Robert Hallock alleged that Nvidia's GameWorks program prevents AMD from working with game developers on GPU optimizations.
According to Cebenoyan, Hallock's claims are baseless. "It's definitely not true. We've never done anything like that, where we preclude people from working with our competition or taking suggestions from our competition or getting access to builds," Cebenoyan told me. "I don't know the specifics, because it's not really our business as to who has access to our games developers partners' builds. That's up to them, right? But my assumption is . . . all the competitors have equal access in terms of getting builds."
By builds, Cebenoyan meant pre-release game builds, which developers normally share with GPU manufacturers prior to launch. Nothing in the GameWorks licensing terms precludes that type of collaboration, Cebenoyan said. The terms do, however, forbid developers from sharing Nvidia's GameWorks middleware code—which, when that code is integrated into a game engine, may mean AMD doesn't get access to that portion of a game's source code.
As I understand it, these licensing terms are new. They've only been in place since March or so, coinciding with the release of GameWorks 2014. Prior to that, Nvidia's collaboration with developers on middleware was "ad hoc."
Cebenoyan conceded that AMD is "concerned" about not having the code for Nvidia's GameWorks modules. However, he seems to believe that shouldn't hinder AMD's optimization efforts. "Historically, in all the games we've worked with, we don't typically need the source code to a game to optimize for it," he told me. "We don't typically have the source code to most games. Our driver engineers typically—actually almost never have looked game source code. So that's not really the operating model."
I asked whether, prior to the establishment of the GameWorks licensing model, AMD would have had access to the code for games with Nvidia middleware. "No, I don't think so," Cebenoyan replied. "In general, most game developers don't really give people source code, anyway."
Addressing AMD's specific complaint about code samples disappearing from Nvidia's website, Cebenoyan pointed out that the samples are still there. "Someone just failed in navigating the website," he said. The samples can be downloaded here, and Nvidia doesn't intend to remove them; indeed, the company says it wants to add more of them.
Of course, those samples shouldn't be confused with Nvidia's proprietary GameWorks modules, which aren't available to the public. (According to Cebenoyan, GameWorks modules are bona-fide middleware. "There's all kinds of things—software engineering type things—that go into building something that's a real piece of middleware that is not what you worry about when you just have a sample," he said.)
So, if GameWorks isn't the problem, then why do certain Nvidia-backed titles (such as Assassin's Creed IV: Black Flag, Arkham Asylum, and Watch Dogs) perform so comparatively poorly on AMD hardware? Nvidia's PR team butted in there, hinting that AMD's developer relations efforts are thinly spread. Considering AMD's ongoing financial hurdles, that's not outside the realm of possibility.
Cebenoyan then chimed in, "We spend a lot of energy on those titles. We really look at them carefully and try to make the experience as good as possible for Nvidia customers. Maybe in the process of doing that, that makes it so that it's noticeably better than on AMD. I don't know. But it's not a functional way to work with developers where you suggest things to them that hurt a significant portion of their user base. That's just not gonna fly with any competent developer. So that's not something that we ever do."
Somewhat contradictorily, Cebenoyan went on to tell me that, in "at least" two instances, AMD's own developer relations efforts impeded Nvidia's work with game developers. "We know of real examples where we have actually explicitly been forbidden from seeing builds—forget source code, even just binary builds—of games that include high-end effects," Cebenoyan said. "The full game with all of the effects, the important PC ultra quality settings, [was] hidden from us until say a few weeks before launch, something like that. These were things that were contractually obligated."
Cebenoyan wouldn't name names, but his description sounded an awful lot like the allegations Nvidia made after Tomb Raider came out last year. Cebenoyan doesn't think the developers set out to disenfranchise Nvidia users willingly. Rather, he blames a hidden clause in their contract with AMD.
For what it's worth, AMD has denied that its Gaming Evolved program involves such clauses. The program "undertakes no efforts to prevent our competition from optimizing for games before their release," the company stated last June.
So, yeah. We're looking at some very similar allegations from both Nvidia and AMD—and, in both cases, emphatic denials of wrongdoing.
Without talking to developers, it's hard to know for sure exactly what all those licensing agreements and contracts stipulate, either explicitly or implicitly. That said, it's possible that there's some truth to what both companies are saying. The world of PC gaming hardware is a highly competitive one, and bending the rules of fair play even slightly can pay some very real dividends.
|Biostar X370GTN is the first Ryzen Mini-ITX motherboard||4|
|Intel gives hard drives a boost with Optane Memory||23|
|Starcraft Remastered constructs higher-fidelity pylons||27|
|Transcend steps into the NVMe arena with the MTE850 SSD||6|
|MSI GTX 1080 Ti Armor 11G is the first custom card on e-tail shelves||9|
|Gigabyte has two A320 boards for bread-and-butter Ryzen builds||31|
|Google points deep-learning machines at audio effect subtitles||5|
|Throw a Quadro card on Gigabyte's Z270X-Designare||14|
|Deals of the week: an RX 480 4GB for $150 and more||28|
|Well, so much for Common Courtesy Day...||+32|