AMD vs. NVIDIA: Anti-Aliasing in Batman: Arkham Asylum

Rob Williams

Editor-in-Chief
Staff member
Moderator
From our front-page news:
There's an on-going war of words being exchanged between AMD and NVIDIA, and in some cases, also Eidos and Rocksteady, regarding the recent PC hit, Batman: Arkham Asylum. The story surfaced well before the game's launch, but spread like wildfire when it became available to consumers, as gamers began to experience a downside when running the game with an ATI card installed: no anti-aliasing. While AA is indeed possible with ATI cards, the method of applying it is complicated, compared to any in-game solution.

With all the details boiled down, it appears that NVIDIA is the one in the hotseat, as multiple sources, including developer Rocksteady, claim that the company disallowed the in-game anti-aliasing code to be applied for non-NVIDIA cards. This of course enraged AMD and gamers alike. Simply changing your ATI card's vendor ID to match NVIDIA's would enable anti-aliasing once again, adding even more fuel to the fire.

The story is long and complicated, but Bright Side of News*'s Theo Valich has taken an exhaustive look at the situation from various angles, and has even gotten comment from developers not at all related to the game. Some have praise for NVIDIA, stating that its dedication to game developers is unparalleled. In some cases, NVIDIA has been known to provide not only hardware to developers, but support at no cost. AMD, on the other hand, seemingly does the bare minimum.

The case has a sticking point, though. Half a year before the game's release, Rocksteady approached both AMD and NVIDIA regarding Unreal Engine 3's lack of native anti-aliasing support. NVIDIA went ahead and wrote some code, while AMD decided to focus more on DirectX 11 titles, as the company knew it would be way ahead of the curve (and it is, although we've yet to see such titles). The argument is that if NVIDIA wrote the code required, why should it allow AMD's graphics cards to take advantage? NVIDIA states that AMD didn't do anything to help with the development of AA in the title, and therefore, it's at fault - not NVIDIA.

Believe it or not, despite the fact that Unreal Engine 3 (mentioned earlier here) is one of the most robust engines on the market in terms of features and performance, it doesn't natively support anti-aliasing. This is proven by loading up almost any UE3-built game, including Unreal Tournament III. Players do have the option of forcing AA in the graphics driver's control panel, but that's a less-than-elegant solution.

Not much is sure to come from this, but two things do seem to be proven. For one, Unreal Engine should include native anti-aliasing support. It's kind of absurd that the engine has been around for years, and hasn't included a feature that's been around for well over ten. Second, AMD really has to step up its game (no pun of course) when it comes to catering to game developer's needs. I've heard this from game developers first-hand in the past, so it does seem to be a real issue.

batman_arkham_asylum_110509.jpg

What got AMD seriously aggravated was the fact that the first step of this code is done on all AMD hardware: "'Amusingly', it turns out that the first step is done for all hardware (even ours) whether AA is enabled or not! So it turns out that NVidia's code for adding support for AA is running on our hardware all the time - even though we're not being allowed to run the resolve code! So… They've not just tied a very ordinary implementation of AA to their h/w, but they've done it in a way which ends up slowing our hardware down (because we're forced to write useless depth values to alpha most of the time...)!"


Source: Bright Side of News*
 

Doomsday

Tech Junkie
i have heard a lot bout Nvidia doing more for gamers, especially PC, than AMD....not an Nvidia fanboy but if AMD didnot do anything to help out, then i wont blame the green team to only support AA for their cards only...
 

Rob Williams

Editor-in-Chief
Staff member
Moderator
It's a complicated story, because both companies continue to contradict each other, so it's hard to take a side. If NVIDIA was the one to develop the code, and AMD had no part whatsoever, than I can't say I feel too bad for AMD. But, in the end, it's unfortunate for gamers who have ATI cards in their machine, because they should have easy access to it, given it's such a standard option.

I still vote for the fact that Epic should have added native anti-aliasing support to UE3 long ago, and I find it foolish that it doesn't have the support even as it stands right now. It's not an inexpensive engine to use, and in all regards, it's one of the most robust out there, so where on earth is the AA support?!
 

Doomsday

Tech Junkie
It's a complicated story, because both companies continue to contradict each other, so it's hard to take a side. If NVIDIA was the one to develop the code, and AMD had no part whatsoever, than I can't say I feel too bad for AMD. But, in the end, it's unfortunate for gamers who have ATI cards in their machine, because they should have easy access to it, given it's such a standard option.

I still vote for the fact that Epic should have added native anti-aliasing support to UE3 long ago, and I find it foolish that it doesn't have the support even as it stands right now. It's not an inexpensive engine to use, and in all regards, it's one of the most robust out there, so where on earth is the AA support?!

well that is true..kinda unfair to the gamers who spent money on the game, had Ati, and were not able to experience the grafix fully.....
 

killem2

Coastermaker
This argument kinda got left in the dust after a shit storm of insults from both parties. What I finally gathered from it all was:

Nvidia came to Edios with the codes to make AA work. Now remember there isn't anything like an Nvida AA code and ATI code. AA is universal. However Nvidia felt that since they did that leg work, it should only work with thier cards. AMD states that they did, but Edios says only Nvidia has came forward.

Personally, I'm siding with Nvidia here. Who knows how many titles in the past they have done AA coding for and just ignored amd not doing it. With saying that, honestly, it should be EDIOS who does the leg work to make them both work as it's their game and if they want that feature in there, they should be putting forth the effort.

It is still able to be done, you just have to force it through catalyst drivers i believe.
 

Rob Williams

Editor-in-Chief
Staff member
Moderator
This was discussed in a meeting I had with NVIDIA the other day, and it took every opportunity to defend itself and set the record straight. As far as it's concerned, the company did nothing wrong, and in the end, it's merely ATI who isn't doing enough to support things like AA on its own card. Throughout the development cycle, NVIDIA worked close with the developer in order to get AA support into the game, since it wasn't supported by default (which I still consider bizarre).

I think I better stop talking about it since I believe this to be under embargo, but all I can say is that it does appear that ATI was in the wrong here, and NVIDIA has proof to back it up. I'll talk more about this soon...
 
Top