What's Going On?
NVidia owns and develops a suite of middle-ware graphics technologies called “GameWorks.” We covered GameWorks and its 2014 update at GTC last year. GameWorks is licensed to game developers for inclusion in titles that seek a partnered solution to development of certain graphics effects and technologies, often pertaining to fire, water, physics, and – in the case of the Witcher – hair. During the process of implementing GameWorks technologies, developers are able to work alongside nVidia developers to ensure compatibility with GeForce video cards. Additional co-branding efforts may be made by either company, such as at tradeshows, where we often see GameWorks titles at the nVidia booth.
PhysX, nVidia's long-standing physics processing solution, made an appearance in Project Cars for simulation of certain physical properties in-game. Examples of PhysX's inclusion would include trajectory of airborne vehicles, collision detection, rigid body simulation, cloth (soft body) simulation, and more.
Reddit users drew the support of AMD's Roy Taylor, known for unabashed twitter commentary directed at any and all, including media outlets. The post in question was entitled “Mark my word, if we don't stop the nvidia GameWorks anticompetitive practice you will start to see games that are exclusive for one GPU over the other.”
Bold claims, to be sure.
Users claimed that PhysX wouldn't work on AMD cards, despite a lack of GPU loading by the middle-ware. These claims were largely unsubstantiated and provoked response from nVidia, but implied a dystopian future of GPU-exclusive lock-outs for game software.
Then the Witcher 3 launched, a game developed by CD Projekt Red. The Witcher 3 makes use of nVidia's HairWorks (and, to a less controversial degree, HBAO+), which uses tessellation to simulate more realistic movement and rendering of hair strands. Because AMD can't compete with nVidia on tessellation, and because HairWorks is built by nVidia to work on its own hardware, HairWorks doesn't perform well on AMD. This should surprise no one. HairWorks can be disabled through the game's options; alternatively, users can go through an .ini file to modify the HairWorks quality to lower it slightly. This is done through \bin\config\base\renderer.ini in the hairworksAAlevel= line.
Despite the fact that HairWorks can be disabled, the wrath of the internet has bubbled over from Project Cars. Richard Huddy's statements to Ars Technica only added fuel to the fire, furthering an appearance of victimization by adding that AMD had attempted to work with CD Projekt Red “from the beginning,” then indicating that “around two months before release, or thereabouts, the GameWorks code arrived with HairWorks.”
Digging through media archives, we see the first demonstration of HairWorks in The Witcher 3 in a 2013 MaximumPC article – hardly two months before launch. In fact, we independently saw HairWorks on Witcher 3 enemy models at GTC 2014. AMD's endorsement of internet outrage seems to have built an implication that nVidia threw GameWorks into the Witcher 3 at the last second, with the strict intention of damaging AMD's reputation. AMD makes it sound as if its competitor is “blocking” developers from working with AMD – or vice versa – and we decided to talk to nVidia about this statement.
It was learned through our talks that nVidia's current GameWorks contracts do not prohibit licensees (developers) from working with AMD. AMD's TressFX makes no appearance in the Witcher, but that's not because of GameWorks – that's because AMD didn't ask to get involved until “too late” (quote from Huddy / CDPR conversation, reported to Ars).
Talking to NVIDIA
NVidia told us in a statement:
“We did not prohibit CD Projekt Red or Slightly Mad Studios from working with other IHVs to optimize their game or any GameWorks features. We did not prohibit CD Projekt Red or Slightly Mad Studios from adding technologies from other IHVs to their games.
GameWorks source code is available to licensees. We provide source code, under license, to developers who request it. Licensees can’t redistribute our source code to anyone who does not have a license.
We dedicated engineering resources, technologies and NVIDIA personal to help CD Projekt Red and Slightly Mad Studios make their games better for GeForce gamers. Both games are spectacular achievements. Their reviews are outstanding. It is very disappointing that they are being tainted by false allegations of unethical behavior.”
As with most systems developed using substantial financial and human resources, GameWorks is not freely distributed and offers source code only to licensed developers.
NVidia grants licensed developers source code for optimization within their games and will work directly with the developers, a clear value-add. What nVidia won't do, somewhat obviously, is help developers optimize for AMD hardware. Reading between the lines of the above quote, the source code for GameWorks also isn't provided to its host company's competitor – and this also shouldn't be a shock – but that doesn't bar AMD from building for a game. As we've learned from our innumerable developer interviews in the past, game assets and effects can be built with alternative models or code explicitly for the purpose of executing on hardware that doesn't support the primary asset well.
AMD and CD Projekt Red didn't do this for HairWorks, but again, disabling HairWorks entirely seems a perfectly reasonable solution. It is hardly a critical technology. Updating drivers could have gone over similarly appreciated, but AMD lacked game-ready drivers for the Witcher 3; this didn't aid output in an already performance-intensive title.
The company hasn't released a stable driver update since December (14.2), but has a somewhat volatile beta build (15.4) released around GTA V's launch window. A recent post by AMD notes that the company is working on 15.5 for the Witcher 3, but has drawn upon user “friedbongwater” for a solution in the meantime:
“In the meantime, users experiencing performance issues with the 'HairWorks' feature in The Witcher 3: Wild Hunt are encouraged to enable the below settings in AMD Catalyst:”
Opinions: Spewing Fire isn't the Road to Recovery
If there is an issue with GameWorks, it's not here. It's hard to defend AMD when the company is fueling community outrage with its own vitriol, especially considering the company hasn't yet released a stable driver for Witcher 3 performance.
We don't want AMD to fail. Sadly, the fact of the matter is that AMD is getting crushed in every ring of its gaming or enterprise divisions; and that is fact. At worst, Intel holds 92% of all server processor sales (Gartner, 2013) or 98.3% at best (Mercury Research); Intel dominates 82.7% of the desktop market (Mercury), with a 74.4% share of the gaming market (Steam Hardware Survey). NVidia holds 75.98% of all add-in board marketshare (ignoring IGPs), growing to 65% AIB marketshare around this time last year and gaining an additional ~11% total AIB marketshare in the time since (JPR). Factoring in IGPs and APUs, nVidia holds 51.8%, Intel 19.2%, and AMD a thinning 28.6% (Steam Hardware Survey). AMD's CPU and GPU revenue have plummeted 38% year-over-year, with its high-focus emergent markets falling an additional 7% (embedded, semi-custom in consoles, enterprise).
The company has axed employee count and R&D spending year-over-year since 2011, falling from $1.7B R&D spending in 2009 to $1.4B in 2010; the company spent just $242mm in quarterly R&D spending in 1Q15.
To put things into perspective, AMD's market cap sits around $2B, while Intel is nearing $150B, nVidia is around $13B, and rising giant ARM is at $25B.
The sentimental side of me wants AMD to do well, but so does the side that favors a healthy enthusiast market and competition. Unfortunately, they're not going to improve market status by spewing fire about developers and competitors. Through-the-teeth implications that CD Projekt Red and Slightly Mad Studios have somehow declined to support AMD isn't a good developer relations strategy, and it's not going to fix fundamental design flaws or bolster sales in the long-term.
Release a driver. Release a video card. Do something. We want AMD to compete. It's just good for the market.
- Steve "Lelldorianx" Burke.