KitGuru is asked more questions about the graphics market than anything else. Seems like you lot love a good fight – and the Heavyweight Championship is fought in the land of shaders. In the spirit of pushing things together until they get heated and critical mass is achieved, we sent a set of (apparently) inflammatory questions to Intel, AMD and nVidia. The Radeon folk replied first. In charge of presenting their version of the world was Richard Huddy who is pointman for his company's DevRel team. In no particular order, here's what Huddy had to say.
“I'm confused as to why you'd want to upset people. Historically, with nVidia, there's the constant smell of burning bridges. Over time, they seem to damage relationships everywhere and, in the long term, if hampers them”, said Huddy when we asked about the differences each company has in approaching developer relations (DevRel). Bold stuff.
It's worth mentioning here that along with a couple of geniuses called Doug and Servan, Huddy helped invent DirectX in the first place while working for a company called Rendermorphics. Shortly afterwards, Servan and Doug went to a small software company called Microsoft and Huddy joined an organisation called nVidia. Here endeth the history part.
While Microsoft lays down the environment for the development of PC games with its DirectX API, there are differences in each company's hardware and drivers which means each is better at some things and worse at others. Then there are the consoles. nVidia had the original Xbox graphics and the Playstation 3. Intel had the first Xbox CPU. AMD (ATI) has the Wii and Xbox360 graphics. Proper mish-mash of styles and abilities.
Huddy told us how many software development studios are actively trying to balance all of these combinations, “We're open to working with anyone, but realistically, we spend most of our time with the 100 or so studios who will be able to put a game into the charts”. Why use that distinction? “These games are going to sell in volume, so more people will be impacted if the code can be improved. It's an intelligent use of our resources”.
How many of these top studios does AMD work with ? “All of them. My team is scattered across the globe and, between us, we're fluent in more than 20 human languages. Any developer that will impact the market, regardless of where they are based or how large a company they are, will get help from AMD”.
Just one more quick checks on Huddy's background to confirm if he's been doing all this DevRel stuff long enough to have an opinion, “I spent 4 years helping to run develop relations with nVidia before moving across to ATI and I've been with this team for the best part of a decade”. OK. Experience established. Let's continue.
“With one exception, every game released through to 2012 will have been developed on AMD's Radeon”
We asked Huddy about the ways in which differences in hardware design translate into the DevRel push. “AMD being able to deliver DirectX 11 hardware into the hands of developers a full 6 months ahead of nVidia, means that with one single known exception, every game released through to 2012 will have been developed on AMD's Radeon hardware. that gives us a huge advantage”.
“Even after nVidia finally began seeding production Fermi cards, many of the DX11 game development projects were already well underway on AMD hardware. The result is that many of those games will, quite naturally, be tuned for the Radeon series”. Logical statement form Huddy.
We wanted a specific case where DevRel would be used to make the most of a company's hardware. Huddy gave us a pearl.
“When all you have is a hammer, then everything in the world looks like a nail“.
Sounds like a wise saying, but what does he mean?
“We're speaking with every development studio in the work that's likely to create a piece of software that makes it into the charts. All of them are telling us the same thing. nVidia is pushing a single message and that's tessellation“, explained Huddy.
“Tessellation is about enriching detail, and that's a good thing, but nVidia is pushing to get as much tessellation as possible into everything”. Huddy reminds us of the problem you get when adding too much salt to your pasta. “Tessellation breaks your image components down in order to add more detail at lower levels and, when it's done right, it can be stunning”.
Huddy then got scientific, “These days, the most typical resolution for serious gaming is 1080p. A resolution where you have 1920 dots left to right and 1080 from top to bottom. That gives you around 2 million pixels' worth of work onto the final screen. However, you actually end up working with a much larger picture, to allow for things like light sources and shadow generators that are off screen in the final image, but which still need to be accounted for. The same goes for situations where something is in front of something else, but you don't know that at the start, so you end up doing work on pixels that may or may not make it to the final cut”.
“Overall, the polygon [Triangle – Ed] size should be around 8-10 pixels in a good gaming environment”, said Huddy. “You also have to allow for the fact that everyone's hardware works in quads. Both nVidia and AMD use a 2×2 grid of pixels, which are always processed as a group. To be intelligent, a triangle needs to be more than 4 pixels big for tessellation to make sense”.
Interesting enough, but why are we being told this? “With artificial tests like Stone Giant, which was paid for by nVidia, tessellation can be done down to the single pixel level. Even though that pixel can't be broken away from the 3 other pixels in its quad. Doing additional processing for each pixel in a group of 4 and then throwing 75% of that work away is just sad”.
Huddy touched on benchmarks and we know he will be biased in this department. Knowing he has a built-in bias, we asked him what makes a good benchmark. “It needs to be reproducible, so you get the same results time after time. It also needs to test a new feature. What's the point of replacing a benchmark with a new one that tests exactly the same thing? Ideally the new benchmark should add something, maybe improved visual quality, so that the user experience is better”.
So far, no mad rantings or foaming at the mouth, “If you're testing a graphics chip, then try to avoid testing the CPU. With the new cards, it should be a Shader Model 5 test so that you can get an idea of how future games will work”, said Huddy. “Lastly, we all know that code changes constantly before launch. For a benchmark to be really good, it should be created on the final launch code”. Maybe even after the first patches have been released ?
Thinking about the $2M that nVidia paid to buy Crysis 2, we asked Huddy if he thought that nVidia now has a huge DevRel team working putting as many tessellation calls into the game as will fit.
Huddy declined to comment directly on that game, but he did speak about the Batman Arkham Asylum AA fiasco which saw 2 versions of the game released in quick succession following a global flame war across some of the most influential graphics forums on the planet.
He explained, “Batman used a deferred rendering engine. That creates a special situation for applying anti aliasing. There are well known ways of doing it and, as luck would have it, there is a vanilla implementation that works equally well on AMD and nVidia graphics hardware. Let me be clear, this method is well known, works well on AMD and nVidia cards and there is a minimum impact on performance for the customers who have bought the game”.
“Instead of releasing unified code that works on every customer's card the same, nVidia got the first release of the game to detect if the installed card was a GeForce or Radeon and, if it saw a Radeon, it would turn off the AA feature”, said Huddy.
“The only person this harms if the customer who spent their hard earned money on a brand new game, believing that Batman Arkham Asylum had been written to work as well as possible on the customer's system”, he pointed out.
“This highlights perfectly the fundamental difference in thinking between AMD and nVidia. We would never do that”, said Huddy. “nVidia needs to learn that you should always put the gamer's experience ahead of your own ego. Issues like the deliberate and unnecessary reduction in image quality seen in the Batman Arkham Asylum situation, shows that nVidia is willing to single out half the market and nobble their experience. That's just not right. You should never harm PC gamers just to make yourself look good”.
Huddy told us that the publisher re-evaluated the situation in light of the flame-war and, a short while later with no huge effort, a different version of Batman Arkham Asylum appeared on the market with perfect AA on Radeon cards. Nice.
KitGuru says: We have a follow up piece coming soon in which Huddy shares his views on why nVidia makes a bad partner all round. Informed comment or rampant vitriol? You choose. Just be assured that we've opened up the same ground to Intel and nVidia and we're keen to see what they have to say about the game development market and the role that they have to play in delivering our gaming experiences.
Friendly fire below, fire and forget in the KitGuru forum.