It’s been a few days since the launch of the Radeon 7970, and we’ve had some time to see how it performs and how it is received. In the comments of the previous post, Carsten pointed out a German review with an interesting chart:
This chart shows the performance of AMD’s SubD11 sample, which is included in the DirectX SDK. It clearly demonstrates what I already derived from AMD’s tessellation graphs: the 7970 still suffers from an exponential dropoff in tessellation performance.
Sure, the initial performance of the card is much higher than any other, but it comes down quickly, and as we can see in the chart, from about factor 11, it is already below the level of a GTX580. At about level 14, it’s starting to struggle to keep up with the GTX560Ti.
As an aside, I mentioned that the tessellation charts always go up to only 31, as if higher tessellation factors don’t exist. Well, in this case, the SubD11 sample itself is also limited to factor 31. However, the source code is included, so it can easily be modified. If anyone is interested, I have prepared some binaries for the SubD11 and the adaptive tessellation sample in the DX SDK (both from AMD) which ‘go to eleven': http://bohemiq.scali.eu.org/DX11Tessellation.rar
Or, if you want to modify and build them yourself (can you imagine? Some people might actually not trust me!)… In SubD11.cpp, there’s a constant that controls the maximum subdivision: #define MAX_DIVS. Simply increase that value and rebuild it to make it use more tessellation. Likewise, for the DetailTessellation sample you’ll find this line in DetailTessellation11.cpp: const float MAX_TESSELLATION_FACTOR.
How does this translate to real-life performance though? Well, that is an interesting situation. The AMD camp has been screaming that many tessellation games and benchmarks are unfair, paid by nVidia etc, and they use unrealistic amounts of tessellation. Well, I have discussed Crysis 2 myself… And although there is some truth to the notion that Crysis 2 may use a bit more detail than required here and there, it’s not as extreme and unrealistic as some people tried to make out… As a result, the tessellation is generally within the ‘sweet spot’ range of the new Radeon 7970. So although the 7970’s tessellator still is not exactly perfect in terms of scaling, it is now good enough to stay ahead of the GTX580. Tomshardware tested Crysis 2 at Extreme and Ultra levels for example: http://www.tomshardware.com/reviews/radeon-hd-7970-benchmark-tahiti-gcn,3104-8.html
So that’s a bit of a shock for the AMD camp, I suppose. AMD is now outperforming nVidia in games and benchmarks that they always claimed were completely unfair and biased towards nVidia. But as we see from the German chart above, AMD can only win tessellation benchmarks if they stay below factor 11. Which is hardly unfair or unrealistic. Now if they turned everything hard to factor 64, then the AMD camp would have had a point. Now they just look like the spreaders of FUD that they really are. Being a neutral observer myself (and I suppose it also helps that I’m a developer myself, so I have a reasonable idea of the amout of geometry you can safely and realistically feed a card vs total overkill), I can look back at my earlier Crysis 2 posts without any shame. Nothing I have said is invalidated by the Radeon 7970. Likewise, being neutral I have no problem with the Radeon 7970 being the fastest card.