iNvid02
Member
wccftech dug back into this thing, got updated responses from both companies, did a few tests and put out this article which will serve as part 1.
the tl:dr of the gameworks issue is that amd says the way in which nvidia shares and licenses the gameworks libraries/tools to devs gives nvidia an unfair advantage.
nvidia distributes it via DLLs rather than traditional source code, or if its licensed to a dev then they get the source code, but cannot share it with any other company.
nvidia's argument is that they are merely protecting their technologies, amd says its just a way for nvidia to make optimisation more difficult, sometimes impossible for amd hardware.
sauce: http://wccftech.com/exclusive-nvidias-amds-perspectives-gameworks-bottom-issue/
the tl:dr of the gameworks issue is that amd says the way in which nvidia shares and licenses the gameworks libraries/tools to devs gives nvidia an unfair advantage.
nvidia distributes it via DLLs rather than traditional source code, or if its licensed to a dev then they get the source code, but cannot share it with any other company.
nvidia's argument is that they are merely protecting their technologies, amd says its just a way for nvidia to make optimisation more difficult, sometimes impossible for amd hardware.
WCCFTECH: What other methods besides editing source code can an IHV like yourself or your competitor use to optimize the performance of a specific in-game visual effect ?
NVIDIA: It is not impossible to optimize without source code. We dont get source code for every game. But we still do a great job ensuring games run great on our platform as long as we have reasonable access to builds. Many developers dont provide source code for their games to third parties, so we optimize games based on binary builds. We invest tens of millions of dollars annually in creating these technologies and its our intellectual property. We wont share our IP with our competitors and I think thats reasonable.
WFFCTECH ANALYSIS: There are a couple of vitally important points that invite discussion here. The first is that Nvidia fully recognizes the importance of source code access and optimizing through source code. This is why the company, as discussed earlier, provides developers with the option of acquiring a source license to see and adjust source code. This is because Nvidia understands that theres a lot that can be achieved through working directly with the source code itself. And undoubtedly improving and refining source code is often what yields the best results and leads to the most impactful performance improvements. Which is why it remains as one of the most desirable methods for optimizing performance in games and in fact it can sometimes be the only solution to the problem.
A great example of how important source code truly is would be the Tomb Raider reboot which launched last year. The game performed poorly on Nvidia hardware at launch, particularly so with TressFX Hair enabled which is AMDs hair rendering and simulation technology similar to Nvidias more recent HairWorks feature.
The company laid the blame on not getting access to the final build of the game until very very close to launch. Which funnily enough is exactly the same issue AMD had with a number of GameWorks titles as well. Nvidia even issued a statement at the time saying that the performance issues cannot be completely resolved through a driver update and game code changes on the developers end would have to be made.
Tomb raider was the first game to utilize AMDs TressFX Hair or any type of physical hair simulation technology and Nvidia GPUs really struggled to run this DX11 Direct Compute based visual effect initially. This was not out of the ordinary as the compute heavy effect is expected to naturally run better on AMD GPUs which enjoy an inherit advantage in compute performance over equivalent Nvidia hardware, while Nvidia GPUs are inherently stronger in geometry. This is unsurprising as both AMD and Nvidia play to their respective hardwares strengths with the graphics effects that they develop. We clearly see this with AMDs compute based TressFX and with Nvidias tessellation based HairWorks.
That said GeForce GPUs were brought to parity with their respective Radeon equivalents in TressFX performance despite their compute deficit, no matter which team your graphics card was from running TressFX would have an identical performance impact. And it was achieved through a game patch with the necessary code changes to TressFX. Which goes to show how integral code is to the optimization process and the hurdles that it enables hardware vendors to overcome.
What also played a pivotal part in all of this is that AMD makes the source code for TressFX Hair all of its developed visual effects open and publicly available for anyone to download, see and use.
So unlike TressFX where the feature performs the same on Nvidia and AMD hardware, HairWorks penalizes AMD hardware with double and up to triple the performance cost. In a statement issued to PCPer.com, Brian Burke stated that this was because of AMDs tessellation performance. As weve noted earlier in the story its been historically well known that geometry performance has been one of Nvidias GPU architectures strong suits. Conversely AMDs GPU architectures enjoy a similar lead in compute performance.
So we initially believed that what Brian had told PCPer was the intuitive thing to say. But seeing as how performance parity was achieved on the compute heavy TressFX despite Nvidias inherit disadvantage at compute we were puzzled. A performance penalty running HairWorks thats two to three times as worse on the AMD side vs the Nvidia side stroke us as bizarre despite the inherent tessellation advantage in Nvidias favor and our initial impression meant that we wanted to investigate further.
Theres such an absolutely massive delta created by HairWorks that it cannot simply be explained by the innate differences in tessellation performance between AMDs and Nvidias GPU architectures. Theres absolutely no doubt that the AMD hardware itself can run HairWorks far better than what we see today. And its so inconceivably bizarre that Nvidia would develop the code, conceal it from AMD and then blame their architecture for performing poorly when running it.
sauce: http://wccftech.com/exclusive-nvidias-amds-perspectives-gameworks-bottom-issue/