It’s been a really tough week for AMD. The Witcher 3 has just been released and according to reports, the game’s Hairworks effects have a huge performance impact on all Radeon GPUs. AMD accused NVIDIA for sabotaging AMD cards in The Witcher 3, and some media tried defending the green team. And AMD decided yesterday to answer a lot of questions that arose during these past few days about its innovations, the Hairworks performance issues in The Witcher 3, and the whole optimization procedure.
John Taylor, Global Corporate Marketing at AMD, and Robert Hallock, Global Technical Marketing at AMD, started off by clarifying why AMD was unable to properly optimize its drivers for the final version of The Witcher 3’s Hairworks technology.
As Robert said:
“When you bring up an effect like TressFX or Hairworks, you built it into a tech demo first, to show people that <<hey, it’s viable>>. That it works, that it looks good. But those technologies don’t start appearing in the game builds until many years later. “
“And certain builds might be about doing certain optimizations, certain features might not be in certain builds, so you can’t take a stagecraft or what is demoed and apply to… well since it was demoed in this year and in this month, that means AMD has had all that time to be working with the developer on that code.”
Robert and John then talked a bit about what AMD has been doing in order to innovate video-game visuals, as some accused them for not doing something like GameWorks. Robert named a few graphical effects that have been introduced thanks to AMD like TressFX, tiled resources, ambient occlusion, global illumination, morphological anti-aliasing and forward+ rendering.
Later on, John asked Robert his opinion about the risks of using – at least in its current state – Gameworks in a triple-A title in order to reduce experience for PC gamers owning different GPUs.
“Well there is nothing wrong optimizing the performance of a title for your hardware, that happens all the time. You know the issue is, I think, how this optimization is done. You can do it in a way that… there is certain baseline average and your performance rises above that level, or you can do it in a way where you bring the baseline down and you bring up your level to create this artificial gap. And it doesn’t have to be that way, right? You can do the optimization in a way that benefits your customers without harming millions of other people too. And that’s the argument that we are making in our position here. “
John and Robert then talked about a workaround that has been available for quite a while. Radeon owners can adjust the tessellation settings – in their Catalyst Control Center – and get good framerates even while Hairworks is enabled.
“At a basic level tessellation is, you take this very simple geometry and on the fly you turn it into much more complex geometry. ” said Robert and continued.
“And how much complexity you’re generating is called your tessellation factor. It goes from 2X to 64X or higher. And Hairworks, judging by the analysis of the title, is using 64X tessellation factor. But comments from the community have pointed out that even if you scale it back to 16X, there is no change in the quality but the performance is substantially improved. Not just on Radeon hardware, but on NVIDIA’s own Kepler architecture as well.
Of course Maxwell has more powerful tessellation than Kepler does, and of course they want to promote their newest graphics cards but it’s coming at the expense not just of Radeon, but the previous generation of NVIDIA’s hardware as well.”
John and Robert then claimed that the source code of such effects – in this case of Hairworks – should be available at least to developers, and that’s something that is not happening at this point. As a result of that, AMD – and therefore even the developers – cannot access it in order to properly optimize it.
Last but not least, John and Robert presented TressFX as an example of offering a new graphical effect that works fine on both camps. Tomb Raider was an AMD-powered game that introduced TressFX, and TressFX currently works great even on NVIDIA cards.