BETA
This is a BETA experience. You may opt-out by clicking here

More From Forbes

Edit Story

[UPDATED] AMD Is Wrong About 'The Witcher 3' And Nvidia's HairWorks

Following
This article is more than 8 years old.

[Update: AMD's John Taylor and Robert Hallock have issued a video response to this and other similar articles from the press. I recommend watching it.]

The increasingly bitter war between GPU manufacturers AMD and Nvidia continues this month with the release of CD Projekt Red's The Witcher 3 and with it, another GameWorks controversy. Except this time it's much easier to see the naked truth.

The story so far: AMD believes that the implementation of an Nvidia-developed graphics feature called HairWorks (part of the company's GameWorks library) in The Witcher 3 is deliberately crippling performance on AMD Radeon graphics cards. HairWorks -- similar in functionality to AMD's TressFX -- taps into DirectX 11 to tessellate tens of thousands of strands of hair, making them move and flow realistically.

Early and exhaustive benchmarks from German site HardwareLuxx indicates that when HairWorks is activated on a higher-end Nvidia cards like the GTX 980, framerate performance drops by 30% (which of course it does, because extra eye candy affects performance!) But on a Radeon 290x? Up to a 61% hit to average framerates.

If you're following this story, you may be aware of CD Projekt Red's official statement on the matter. They told Overclock3D that yes, HairWorks can run on AMD hardware, but that "unsatisfactory performance may be experienced as the code of this feature cannot be optimized for AMD products."

The problem with this statement is that it was overly vague and left a lot of possibilities dangling. Possibilities that can be interpreted for a variety of arguments. Why can't it be optimized? Was it merely an issue of limited resources or man hours? Is it because, as some have argued, AMD'S GCN 1.1 Directx 11 tessellation is sub-par? Or did Nvidia explicitly prevent CD Projekt Red from optimizing their code on AMD hardware or from inserting their own tech?

The answer to the latter question is a decisive no. We saw technologies from both companies in Rockstar's Grand Theft Auto V, a game that was optimized quite efficiently on a wide range of hardware from both Team Green and Team Red. And Nvidia's Brian Burke recently reiterated to PCPer.com that "our agreements with developers don’t prevent them from working with other IHVs."

But let's get to the heart of this article. AMD's chief gaming scientist Richard Huddy recently went on the offensive, claiming that Nvidia's HairWorks code is somehow deliberately sabotaging Witcher 3 performance on AMD hardware. Speaking to ArsTechnica, he said the following:

"We’ve been working with CD Projekt Red from the beginning. We’ve been giving them detailed feedback all the way through. Around two months before release, or thereabouts, the GameWorks code arrived with HairWorks, and it completely sabotaged our performance as far as we’re concerned. We were running well before that… it’s wrecked our performance, almost as if it was put in to achieve that goal."

That's funny, since I attended an Nvidia press conference all the way back in June 2013 that showed an early version of Nvidia's HairWorks -- then unnamed -- running on multiple wolves in The Witcher 3. Later, in January 2014 -- 16 months ago -- Nvidia officially christened the technology "HairWorks" and showed it off again, using several examples of the tech implemented into The Witcher 3.

Here's a video from Gamescom 2014 (August) showing HairWorks running in The Witcher 3.

Let's assume Huddy's claim of working with the developer "from the beginning" is true. The Witcher 3 was announced February 2013. Was 2+ years not long enough to approach CD Projekt Red with the possibility of implementing TressFX? Let's assume AMD somehow wasn't brought into the loop until as late as Gamescom 2014 in August. Is 9 months not enough time to properly optimize HairWorks for their hardware? (Apparently Reddit user "FriedBongWater" only needed 48 hours after the game's release to publish a workaround enabling better performance of HairWorks on AMD hardware, so there's that.)

Hell, let's even assume that AMD really didn't get that code until 2 months prior, even though they've been working with the developer since day 1. Do you find that hard to swallow?

That's all irrelevant in my eyes, because the ask never came in time. Via Ars Technica, Huddy claims that when AMD noticed the terrible HairWorks performance on their hardware two months prior to release, that's when they "specifically asked" CD Projekt Red if they wanted to incorporate TressFX. The developer said "it was too late."

Well, of course it was too late. Nvidia and CD Projekt Red spent two years optimizing HairWorks for The Witcher 3. But here's the bottom line: The developer had HairWorks code for nearly two years. The entire world knew this. If AMD had been working with the developer "since the beginning" how on earth could they have been blindsided by this code only 2 months prior to release? None of it adds up, and it points to a larger problem.

Look, I respect AMD and have built many systems for personal use and here at Forbes using their hardware. AMD's constant pulpit of open source drivers and their desire to prevent a fragmented PC gaming industry is honorable, but is it because they don't want to do the work?

A PC enthusiast on Reddit did more to solve the HairWorks performance problem than AMD has apparently done. AMD's last Catalyst WQHL driver was 161 days ago, and the company hasn't announced one on the horizon. Next to Nvidia's monthly update cycle and game-ready driver program, this looks lazy.

If you want a huge AAA game release to look great on your hardware, you take the initiative to ensure that it does. What you don't do is expect your competitor to make it easier for you by opening up the technology they've invested millions of dollars into. You innovate using your own technologies. Or you increase your resources. Or you bolster your relationships and face time with developers.

In short, you just find a way to get it done.

If I sound frustrated, it's because I am. I've been an enthusiastic fan of AMD for a good long while (just look at the numerous DIY builds and positive reviews I've given them), and last year at this same time I was admittedly on the other side of this argument. But what I'm seeing now is a company who keeps insisting their sole competitor make their job easier "for the good of PC gaming." And I see said competitor continuing to innovate with graphics technologies that make games more beautiful. And I see promises like the concept of "OpenWorks" laying stagnant a full year after they're hyped up. And I see AMD's desktop GPU market share continue to slip and think to myself "maybe this is not a coincidence."

I've reached out to AMD and invited them to issue a follow-up comment or offer any clarity to Huddy's statement.