Despite suffering from occasional sub-30 frames per second stuttering on consoles, the PC version of The Witcher 3: Wild Hunt earned our stamp of approval for its gorgeous visuals, graphics settings galore, and far-superior-to-console frame rates. But even though the game ran at a fairly consistent 60fps at 1080p with mostly maxed-out settings on our reviewer's GeForce GTX 970, we didn't want to settle the issue there.
Why? Because The Witcher 3 features Nvidia's proprietary GameWorks middleware technology--most notably HairWorks, which enables incredibly realistic hair. Social media has been full of widespread fears that HairWorks would hinder performance on AMD cards. With the PhysX-enabled Project CARS (which is not a GameWorks title) still running like crap on AMD hardware, some gamers are understandably skittish.
So I decided to test the performance of comparable AMD and Nvidia graphics cards.
To do so, I slapped both a reference AMD Radeon R9 290X (ugh, I know, that cooler) and a reference Nvidia GeForce GTX 980 into PCWorld's graphics card testing rig, and played a bit of The Witcher 3 with each, at 2560x1600 resolution with all graphics options turned to "high" settings presets. I used SSAO rather than Nvidia's HBAO+ for the ambient occlusion setting. Frame rates could vary quite a bit depending on what you're doing, according to FRAPS, and it's hard to create replicable situations in Witcher 3's dynamic, open world--action scenes especially.
I settled on capturing one minute's worth of frame rates using FRAPS in the above settlement in the opening tutorial area, loaded from a save. People, foliage, and the occasional animal abound, though I reloaded and started fresh on the rare occasion that wolves wandered in and riled up the populace.
Let's start with the good news first: The Radeon R9 290X handles Witcher 3 like a champ.
With HairWorks off, the AMD card hit frame rates hovering between 47 and 49fps in the scene above. Naturally, frame rates dipped a bit lower during action scenes, but never below the mid- to high-thirties at their worst. That's comparable to the GTX 980, which hit 48 to 51fps in the above situation. That performance variance between the two graphics cards is in line with what we've seen in most other games, as well. And AMD hasn't even released Witcher 3-optimized drivers yet, unlike Nvidia, which had Game Ready drivers available on launch day.
Now for the bad news. Enabling Nvidia HairWorks technology (set to "All" rather than "Geralt only") absolutely tanks the frame rate on the Radeon R9 290X. In the scene above, frame rates instantly dropped to 29 to 30fps--an absolutely massive difference. Scenes with multiple wolves borderline devolved into slideshows.
But here's the thing: Nvidia's GeForce GTX 980 also suffered tremendously with HairWorks enabled, albeit at a far lesser scale than AMD's hardware, dropping to 41 to 43fps in the above settlement. HairWorks slammed the Radeon with a roughly 47-percent performance drop, and the GeForce card with a 16-percent penalty. The HairWorks effect sure looks pretty, but ouch.
Nvidia's own HairWorks testing showed that scenes with multiple wolves and Geralt's horse in the background saw an even more pronounced frame rate drop on a dual-Titan X setup, as you can see below. (Note that the entire configuration is drastically different than our test rig, and Nvidia obviously didn't benchmark AMD hardware.)
The GameWorks controversy
Basically, HairWorks creates drop-dead gorgeous hair but with a severe hit to game performance, no matter which brand of graphics card you're using. Yes, the hit is drastically more pronounced on Radeon hardware, which (unlike Nvidia's) isn't known for handling tessellation well--but Nvidia's cards still get gut-punched by HairWorks.
For what it's worth, Nvidia spokesperson Brian Burke says that Radeon hardware could've been optimized for HairWorks in a few different ways. While game developers aren't allowed to share GameWorks source code with AMD, licensees (like CD Projekt Red) can request GameWorks code and optimize it in their games for AMD hardware. AMD could also attempt to optimize performance at a binary level, rather than a source code level, Burke said--though that's far more difficult for AMD than dealing with direct source code. Finally, Burke says, AMD could've worked to get its own TressFX technology inside of The Witcher 3, much like how GTA V for PC featured proprietary shadow technology from both AMD and Nvidia.
AMD representatives didn't respond to a request for comment.
In the end, The Witcher 3 runs just as smoothly on the Radeon R9 290X as it does on the GTX 980, if you choose not to enable HairWorks, which--and this is essential--is completely optional. As I mentioned earlier, the HBAO+ GameWorks tech in The Witcher 3 is also an optional setting. These are optional benefits for GeForce users, not active detriments to Radeon users.
Don't get me wrong: There is indeed plenty to fear in a potential future where all the top games integrate proprietary GameWorks tech in their very core, crippling performance on AMD hardware--a future that feels all too possible with Nvidia's recent dominance in GPU sales.
But that day ain't today. Ignore HairWorks, and both AMD and Nvidia hardware run The Witcher 3 just fine. Happy monster hunting!
(For a more detailed overview of the GameWorks controversy, I highly recommend readingExtremeTech's killer, balanced look at what GameWorks means for the PC gaming ecosystem as a whole.)