A war of words recently broke out between AMD and nVidia over Eidos using nVidia's code for Anti-Aliasing
implementation in Batman: Arkham Asylum. There is a large discussion going on over at various Internet forums, but we decided to take a deep breath and get to the bottom of Batmangate
In the past 48 hours, we talked with Chris Hook [Senior Manager Public Relations, AMD], Richard Huddy [WW Developer Relations Manager, AMD], Bryan Del Rizzo [GeForce Public Relations Manager, nVidia] and Brian Burke [Public Relations Manager, nVidia]. We have also discussed the situation with Tim Sweeney, the creator of the game engine and three game developers who commented on the matter under the condition of anonymity. In order to keep the matters unbiased, one developer comes from a team which recently released a The Way It's Meant To Be Played title that scored excellent reviews and runs great on both ATI and nVidia hardware. In fact, runs on ATI's Eyefinity technology even though the developer didn't work with ATI on implementation of Eyefinity. The second developer is working on a DirectX 11 title set to be released in 2010. And finally, the third developer may even come on-the-record [in that case, we'll update the article]. Batman: Arkham Asylum
Developed by Rocksteady Studios Ltd. and published by Eidos Interactive Ltd., Batman: Arkham Asylum was designed as an multiplatform AAA title with all the bells and whistles modern technology can offer.
The effort placed in this title is a direct consequence of a decision brought forward by Warner Brothers five years ago
. Jason Hall [Senior VP, Warner Bros Interactive Entertainment] stated that "the game industry has had its time to exploit movie studios all day long and to get away with producing inferior products. But, with Warner Brothers, no more. Those days are over. And we mean it. This isn't just lip service. Honestly, the bad games are over."
Warner Bros decoupled the usual requirement that the game is just the tie-in to the movie release and went for a unique experience instead. The approach was criticized by other Hollywood studios and many games developers but with Batman: Arkham Asylum - it was quite clear that the path taken half a decade ago was the right one.
From what we saw while playing Batman: Arkham Asylum, this is an excellent example of how the game can be enhanced on a PC platform, regardless of hardware being used. The game uses CPU PhysX on supported consoles [PlayStation 3, Xbox 360] and only an nVidia GPU for the PC Platform. We have played the game on a PS3 console and various hardware from both parties, including activated and de-activated PhysX GPU-acceleration and 3D Vision glasses.
Do note that on the PC platform you cannot use a combination of old AGEIA PhysX cards and ATI Radeon cards, due to interesting vendor lock mechanisms nVidia deployed of late. It is exactly those Vendor ID mechanisms that are the topic of today's analysis. Tim Sweeney comments on Unreal Engine 3 and MSAA implementation
Before you read any of the sides involved in this feud, I would kindly ask you to read what Tim Sweeney had to say about his engine. This analysis will go in depth from both AMD and nVidia sides, and I have asked Tim could he explain how the MSAA baseline looks inside the Unreal Engine 3.
According to Tim, he was not explained the specifics of how nVidia implemented MSAA mod in Batman: Arkham Asylum. However, this is how Unreal Engine 3 works:
- UE3 does not support MSAA on Windows DirectX 9, because UE3's use of deferred shadowing and post-processing techniques requires explicit support for frame buffer resolves, which DirectX9 lacks.
- UE3 does support MSAA on Windows DirectX 10, using its explicit support for frame buffer resolves. The support is general to all compliant DirectX 10 hardware. However, because of the way it operates on full-resolution MSAA buffers, there's room for improvement, and good chance a typical UE3 licensee shipping a major Windows game will customize it.
- UE3 does support MSAA on Xbox 360, using its explicit support for frame buffer resolves. This is very well optimized for our usage scenario (MSAA scene rendering followed by non-MSAA shadowing and post-processing).
The reason for this controversy lies in the second point Tim made - while Epic's Unreal Engine 3 does support Multi-Sampling Anti-Aliasing out of the box on DirectX 10 hardware, so it is up to the 3rd party to write the code that would expose AA inside the game on any of the supported platforms. In the case of Batman:Arkham Asylum, there are three sides that could write AA code:
- Rocksteady Studios / Eidos
- Advanced Micro Devices
- nVidia Corporation
Note that you can turn Anti-Aliasing on any Unreal Engine 3-based game from the nVidia ForceWare or ATI Catalyst Control Panels. Thus, thiswhole affair is a matter of user convenience and the ability to select an AA setting inside the game. Next Page: AMD Perspective with Chris Hook and Richard Huddy
© 2009 - 2013 Bright Side Of News*, All rights reserved.