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.
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
The DX9 path is quite efficient but lacks some of the features that
we have on DX10 like anti-aliasing and HBAO.
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.
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.
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.
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
Expect to see & hear more about both 3D Vision and 3D Vision
Surround in Bad Company 2 after the beta!
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.
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!
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
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.
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.
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
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