HairWorks: Crippling Performance
As we progressed along testing, the minimum frame rates we observed across the board were puzzling. Using medium quality settings at 1080p there was a ~10% drop in performance from the average to the minimum fps, but a 50+% drop was found when using high and ultra settings. What was causing beastly GPUs such as the GTX 980 to drop from 56fps to less than 30fps at 1080p?
We soon discovered – as did the many gamers that jumped into The Witcher 3 at launch – the sole cause for this huge performance hit was Nvidia's HairWorks. After the pCARS situation, there was a big fuss about HairWorks hurting performance of Radeon GPUs with no way to truly optimize since it's a propriatary implementation. Well, in this case Nvidia isn't doing much better even when it's using its own technology, as HairWorks hampered GeForce cards almost as much as it did the Radeons.
With HairWorks disabled the minimum frame rate of the R9 290 is 3x greater, while the GTX 780 saw a 2.5x increase and the GTX 980 a 2.2x increase.
The average frame rate of the GTX 980 was boosted by 20fps, that's 36% more performance. The GTX 780 saw a 36% increase in average frame rate which was much needed going from just 36fps at 1080p to a much smoother 49fps.
The R9 290X enjoyed a massive 75% performance jump with HairWorks disabled, making it 17% slower than the GTX 980 – it all started to make sense then.
We should reiterate that besides disabling HairWorks, all other settings were left at the Ultra preset.
The issue with HairWorks is the minimum frame rate dips. This isn't something we found when testing TressFX in Tomb Raider back in 2013. Below we have run the game tests in Tomb Raider with TressFX enabled and disabled. The results aren't meant to be directly compared to those using HairWorks in The Witcher 3, we have included them purely for interest's sake.
With TressFX disabled the R9 290's minimum frame is 1.5x greater while the GTX 780 and GTX 980 saw a 1.6x increase – roughly half the impact we saw HairWorks have in The Witcher 3. We realize you can't directly compare the two but it's interesting nonetheless.
The average frame rate of the R9 290X was 49% faster with TressFX disabled, that is certainly a significant performance gain, but not quite the 75% gap we saw when disabling HairWorks on The Witcher.