Bad Company 2 PC Graphics Details

Introduction

My name is Johan Andersson (Twitter: repi) and I'm one of the architects working on our proprietary Frostbite engine here at DICE.

We've had numerous requests to go through in more detail about what kind of graphical features & options that exists in Battlefield: Bad Company 2 for the PC. So this is an attempt at just that.

Battlefield: Bad Company 2 is based on Frostbite 1.5, but with multiple enhancements and a lot of specific effort spent on building it up and for the PC as this is the first time Frostbite is used on PC.


DX9/DX10/DX11

Frostbite 1.5 on PC is designed for DirectX 10 as a base, this enables us to easily support all the advanced graphics features that we use on the consoles, and much more! DX10 is a very modern graphics API and gives us a lot of flexibility as a developer.

DX10 has one unfortunate draw back though; it is only supported on Windows Vista and Windows 7, not the now 9 year old Windows XP. And as we have a big PC fan base, where not everyone may have transitioned over to Vista or Windows 7 yet, we have also added a rendering path that uses the old DirectX 9.

The DX9 path is quite efficient but lacks some of the features that we have on DX10 like anti-aliasing and HBAO.


For everyone with the new generation of graphics card, like the AMD Radeon 5xxx series or the upcoming Nvidia Geforce 4xx, we've also added support for DirectX 11. The primary uses of DX11 in Bad Company 2 is to soften all the dynamic shadows as well as to improve performance in general with a few smaller DX11 optimizations that we are using.

The detection and usage of DX9/DX10/DX11 is done automatically, the game selects the highest possible version available with your graphics card and OS. If you want to force a given path you can do that in the Settings.ini file by setting 'DxVersion' to any of these options: 9, 10, 11 or auto (default).

The Settings.ini file can be found in My Documents\BFBC2 directory.

 

AMD Eyefinity

Bad Company 2 supports AMD's Eyefinity rendering mode where you can have 3 (or 6!) monitors connected to a single graphics card. The game will then detect that mode and the very wide aspect ratio and render using a wide horizontal field of view and keep the menus & HUDs on the middle display. This can create a very immersive experience if you have the hardware required.

Update: Bad Company 2 is now officially Eyefinity Validated by AMD which is the highest level of support.

Elmnator1 posted this Youtube video showing Eyefinity in the Bad Company 2 PC Beta on his nice setup:

 

Nvidia 3D Vision

We've been working together with engineers from Nvidia for adding proper support for 3D Vision stereo rendering in Bad Company 2 PC. This support is not enabled in the beta but it will be included in a patch shortly after the release of the retail game.

3D Vision works by rendering a picture for each eye every frame together with a slight offset. Then the 3D glasses together with the compatible displays and drivers correctly select which frame each eye sees to create actual depth perception in the game.

We are also looking forward to trying out the upcoming multi-monitor stereo rendering: 3D Vision Surround.

Expect to see & hear more about both 3D Vision and 3D Vision Surround in Bad Company 2 after the beta!

 

HBAO

HBAO stands for Horizon-based Ambient Occlusion and is a rendering technique developed by Nvidia originally and that we have integrated into Frostbite for use on all DX10 and DX11 graphics cards.

It is a technique that creates soft & realistic contact shadows between objects and can really enhance the visuals but in a quite subtle way. It can be a demanding effect for the graphics card and as such is primarily meant for more higher-end cards. It only is a cost on the GPU, not the CPU.

Since the PC Beta we've done a bunch of optimizations on the effect together with both Nvidia and AMD, so if you had performance problems with it before: please give it a shot again in the retail game if you have a modern & fast GPU!

For the full technical details about how HBAO works, see this presentation by Nvidia from SIGGRAPH 2008: Image-Space Horizon-Based Ambient Occlusion.

 

Field of View

BC2 uses approximately the same vertical field-of-view on all platforms and modes. But as we support arbitrary monitor aspect ratios, you can get different horizontal FOV on different monitor setups - the wider monitor you have the wider horizontal FOV you get, i.e. you actually see more on the sides of the screen.

As widescreen monitors nowadays are even more common (and actually: the new standard) we felt it was very important to support them properly. Which we do in BC2 thanks to handling arbitrary aspect ratios. A positive side effect of this is that Eyefinity also works as it should, i.e. just like a single very wide monitor.

We've seen overwhelming positive feedback for the out-of-the-box support of Eyefinity, but a few select people have voiced some concern that the wide FOV when playing with Eyefinity would be considered cheating. But now when people have been playing the Beta we haven't heard any feedback that Eyefinity have actually been a big practical competitive advantage, it is meant to give you only extra peripheral vision.

The PC as a platform is inherently not a 100% fair playing field as people have always had varying performance, network connection, hardware setups, input devices and new technology - which is also one of the strengths of the platform and something we, and many PC players, would like us to embrace & utilize.

If the community later collectively agrees that Eyefinity is an actual big advantage in multi-player we can look into potentially having it as a server option, but don't think that will be needed.


Another much requested topic is to have a customizable FOV. This is not implemented in the PC Beta, but we are adding a customizable FOV for a future retail patch. The feedback from the Beta about servers, performance & stability have been of a higher priority and needed to be solved first.

 

Misc

The 'High' texture detail level is not included in the PC beta, but is in the retail game which increase texture resolution a bit.

Support for multiple GPUs (AMD Crossfire / Nvidia SLI) in the first PC Beta build was only partially working and could cause visual artifacts. This is improved on in the latest Beta client and since that version we have done additional performance scaling improvements that should be a good benefit.

We would like to thank both AMD and Nvidia for their technical support and assistance during the development of Bad Company 2. Both with the PC-only advanced features and with helping to make sure the game runs and performs well a wide range of graphics cards and configurations. Special thanks to Louis Bavoil (Nvidia) and Nicolas Thibieroz (AMD).

 

Future

If you are interested in more details about DirectX 11 as well as some sneak peaks and technical details about our upcoming Frostbite 2 engine, AMD recently did a big interview with me in their on the AMD Underground blog: "11 Days of DirectX 11: DICE". The longer full interview is also available as an pdf here

Keep in mind that the interview is about the future, beyond Bad Company 2.

-- repi

Comments

  • ZeRoY wrote:
    February 19, 2010 04:05 AM

    Excellent Article, Thanks Johan!

  • -Vp- wrote:
    February 19, 2010 04:16 AM

    OMG! so much info! im sure getting a GTX400 series if budget allows!

  • Logisticz wrote:
    February 19, 2010 04:21 AM

    FoV Hell, yeah!

    But I dont get it why people complain about unfairness with a bigger FoV - sure i'll have a better view, but thats why i bought a god damn 24" widescreen - to get the advantage.  Not to mention (as repi did in the post) that widescreen is quite the new "standard" i dont know anybody who plays on a screen smaller then 22" o0

  • MemoryKill wrote:
    February 19, 2010 04:21 AM

    I always wondered why there was no difference between medium and high xD! Now i know.

    Bah accursed DX versions lol...meh :P.

    Good stuff though, good stuff :)

  • Mr_G wrote:
    February 19, 2010 04:22 AM

    Wow, this is awesome, thanks Repi for taking the time to post this, especially with such detail and clarity.

    I'm sure people will still have a million questions, but this answers all of mine perfectly.

    Cheers

    ":)

    g

  • MvdS wrote:
    February 19, 2010 04:23 AM

    Any chance of ever having a patch for BC2 to support all features of DX11? So in fact, a patch to upgrade to Frostbite 2.0?

  • uberVU - social comments wrote:
    February 19, 2010 04:31 AM

    This post was mentioned on Twitter by repi: My #BFBC2 PC graphics blog post is now up on the BF blog! http://bit.ly/98V5Es

  • eXLRate wrote:
    February 19, 2010 05:20 AM

    Looks like my "future-proof" PC is turning into a junkyard candidate.

    Damn, I wish I could experience nVidia 3D Vision, Eyefinity, HBAO and High texture detail. :(

    Good article, repi.

  • Th3 Trench wrote:
    February 19, 2010 05:34 AM

    great article

    more proof that u guys care about pc gamers

  • causes_strokes wrote:
    February 19, 2010 05:51 AM

    i've got xp....but i'm getting nvidias new direct x 11 card...might upgrade to windows 7 but heard it cannot play old games like doom 3....soldier of fortune 1 and 2 and alot of others which i still play sorta pisses me off with the new stuff anyways i'm looking forward to this game and 480gtx so i can play this whoever has a 295gtx is stupid to get the 480gtx that card is good and a waste of money i currently have a 3+year old card...upgrade every 3 years or so so this game and 480gtx is gonna be so worth it

  • Coxwain wrote:
    February 19, 2010 05:54 AM

    I gotta upgrade my rig.  This $50 game is going to cost me big bucks, New rig, renovate my office etc.

    I call it the $5000 game!

    But looks like its worth it so far.  Good job Repi, we chatting about this a month ago with FOV and glad to see you can make it more realistic.  So here comes the 3 monitor set up!

    Yahoo!

  • Malabo wrote:
    February 19, 2010 06:29 AM

    I thought that BF1943 used frostbite 1.5 and BFBC2 used 2.0?

  • RealOne wrote:
    February 19, 2010 07:14 AM

    Battlefield 3 will probably use frostbite 2.0

  • Gib007 wrote:
    February 19, 2010 07:27 AM

    You guys are doing an amazing job with this game. Moreover, you are really treating your customers extremely well and that is to be commended. Thank you so much!

  • Dr Arctic Fox wrote:
    February 19, 2010 07:53 AM

    @ Logisticz

    store.steampowered.com/hwsurvey

    20% of the Steam install base are running 1280x1024

    13% are running 1024x768.

    That's a THIRD of gamers using Steam.

  • causes_strokes wrote:
    February 19, 2010 08:47 AM

    nice three way...but he sucks at games....and that makes me believe that this man is a joke but ehhh whatever keeps the american economy afloat of him spending his "credits"that he gets from working as a slave to someone else that can't even do a job soeicty should learn....you want it done do it yourself....but nice can't wait for this game!

  • WHITEEAGLE wrote:
    February 19, 2010 08:49 AM

    Thank you Johan ...very well done,I would be interested to know more about the servers,performance,stability....the information you have provided so far has shown without a doubt, that you guy's are on the job.

  • Antios5 wrote:
    February 19, 2010 10:09 AM

    Thank you for the amazing article, Johan!

    and thanks for not picking sides (between Nvidia and ATI) it keeps all players happy!

  • O-Tech wrote:
    February 19, 2010 10:12 AM

    DICE and EA, you guys must add the laser designator to the game. Itll be a great addition, plus you guys showed it in one of your trailers. You can't fool us.

  • gamer69 wrote:
    February 19, 2010 10:16 AM

    i wanted to try out beta but i was a little late, it came out wen i was busy with uni grr lol .. wanted to know if my pc could handle the game so i would just buy the limited edition =( if it was able to nicely.. i guess i will have to wait till demo comes out ..OMG LIFE SUX