Tech Analysis: Battlefield 3 PC
Tomorrow's technology today.
For many PC gamers there is a nasty stigma attached to multi-platform releases. The common criticism is that the development of games on the PC platform, not to mention the commercial uptake of GPU hardware tailored towards new technologies such as DirectX 11, has been hamstrung by developers' growing attention towards the console platforms over the years.
Of course, this is the natural result of a marketing drive inherent in publishers who, in a bid to maximise their potential audience, continue to encourage developers to cater their fundamental game design choices towards much older console architecture. Sadly, this is so often followed by an unambitious, token PC release trickling in a few months later, showing little in the way of technological progress over what could have been achieved years ago on the platform.
Meanwhile, with both Sony and Microsoft are still evidently committed to keeping their current generation of consoles in contention for as long as possible, it would seem that using the PC to showcase the possibilities of next generation hardware is incongruent with the notion of creating a successful multi-platform title. Fortunately, Battlefield 3 is now here to make that stand, and to prove that it's possible to have it both ways.
As shown by our recent Battlefield 3 Face-Off feature, series developer DICE has achieved something special here on all three platforms, proving that they've honed their multi-platform juggling skills further since their last release. Previously on the PC side, criticisms were levelled at Battlefield Bad Company 2 for its smaller environments and a limit of only 32 players maximum per server, which rang false to fans who were used to the 64 player capacity of previous games. Promises were made at the start of Battlefield 3's development, however, that the PC version's 64 player count would make a comeback, and that it would be the one to take the greatest advantage of their newly revised Frostbite 2 engine
The Rise of DirectX 11
Just last month, DICE's rendering architect Johan Andersson explained the finer details of this upgrade during a presentation at the GeForce LAN 6 conference. The first sign that things were working in the progressive PC gamer's favour was the announcement that support for Windows XP and DirectX 9 was in fact being dropped entirely.
A clean break to DX11 offers many benefits in performance, including optimised streaming, Compute Shader support, and Order Independent Transparencies (OIT). On the first point, Andersson describes how in older versions of DirectX "there would be CPU spikes as it streams in new content, because the APIs weren't designed for this approach. We've been working pretty closely with Microsoft and NVIDIA to come up with a solution in DX11 where you can have a separate thread that creates all the textures and meshes, and the drivers are specifically optimised for this."
The net result of this, he continues, is that it "makes sure that these giant textures are loading or uploaded in parallel so you don't see any CPU stalls."
Such improvements to the rendering pipeline inevitably entitles DICE to more creative breathing room when it comes to designing densely-packed levels. Multiplayer stages are now strewn with objects that can be instanced; a process whereby repeated rendering of the same object across a level, from plastic baskets to identical buildings or warehouses, can be achieved within a single draw call to the GPU. This means that the viewing distance on objects can subsequently be increased for all graphical configurations.
A significant benefit to utilising DX10 and 11 exclusively is the way it enforces a consistent visual standard across all graphical settings. Although the single player campaign offers a much more restrictive, linear experience compared to the multiplayer, the above video shows how closely matched these settings can be in like-for-like situations. Our mid-level PC build, equipped with an Intel Q6600 processor and a DX11 compatible Radeon HD 6870 card, could achieve stable frame rates on anything up to the "Ultra" graphical bracket without issue.
Perhaps more impressive though is how all geometry meshes and character models look by comparison even on the lowest setting, with only the dithered shadows being an obvious point of distinction between the settings. Minor objects on the floor may take a massive nosedive in texture resolution, much like the floor texturing itself, but they all stand present and correct with no omissions. It's the same case for foliage on trees, and the smaller sprites used on grass tufts, which services the fairness of the multiplayer mode where any such element could be used for cover.