Jump to content

BF: BC 2 - PC Graphics Details


Pave Low

Recommended Posts

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.

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

Link to comment
Share on other sites

^ EL OSO should have applied for a copywrite. :thumbsup:

____

Not really interested in this title but it is nice to see a dev team respond by providing the sought after in-depth information -that they can at this stage, pre-release.

Other studios should take note.

Link to comment
Share on other sites

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.

Was there any point in this?, i would of rather the devs focused on extra levels/missions in sp.

Link to comment
Share on other sites

I enjoyed the beta and looking forward to release. It's no "tac-sim" but it is a squad shooter. Lone wolfs rarely (if ever) get anything done alone. Having just one squad of 4 organized and balanced can run over an entire team of 16 unorganized players.

DICE has gone above and beyond what 99.9% of the developers out there do to "open" up and introduce their game to the community, IMO. They have addressed a lot of community concerns/questions from the beta through their UK forums, Twitter and their own blog. They patched the beta client 3 times and the servers 7 times. The last client patch came out less than 24 hours from the end of the beta. I believe the last server patch came out shortly before the client as well.

My game is pre-ordered on Steam and I pre-ordered a 24-slot server that will be run with Conquest maps with the Hardcore setting enabled. After playing the hardcore servers in the beta I don't think I can go back to vanilla servers.

[Edit: The trailer is already posted about in existing thread]

Edited by Pave Low
Link to comment
Share on other sites

Did i see eyefinity as a "Server option"

The last i head there wasn't going to be dedicated servers. Did this change?

There were going to be always dedi servers, just no SADS files for the public nor modding tools i guess. You can rent servers for sure.

Link to comment
Share on other sites

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.

Was there any point in this?, i would of rather the devs focused on extra levels/missions in sp.

The engine programmers are not level designers or mission scripters.

The improvement of the graphics engine has literally no impact on the amount of production time/budget that goes into level design. Everyone on the team's job is to improve the part of the game they work on, and the engine programmers optimized the game to run better in dx11. Would you rather they just show up to work to collect their paychecks and it be a glitchy, low FPS mess on modern hardware architecture?

Link to comment
Share on other sites

the engine programmers optimized the game to run better in dx11. Would you rather they just show up to work to collect their paychecks and it be a glitchy, low FPS mess on modern hardware architecture?

Your not getting what i'm pointing out. The only dx11 feature dice implemented in bc2 was soft shadows, no mention of advanced shadows or tesselation, hardly anything dx11, oh maybe a slight tweak lol. That's why i said what was the point?, might as well of used the time extending the single player campaign. Think about it, what does soft shadows really give a gamer?. And i have read dx9 render path in bc2 is faster for some.

Link to comment
Share on other sites

the ppl who tweak the graffix dont build the missions or maps so doing less work on graffix does not mean there is more time to work on the campaign. different teams do different work.

Bit of a cop out from dice i reckon, everything has been done a while now.When you think about what some UNPAID individuals can do in a week or even a couple of days to enhance and even improve games with just basic mod tools is amazing, so no excuse for publishers or devs when they have top notch studios to work in. But no worries, still looking forward to the sp game, mp will be fun for a while until the exploits and hacks start showing up more, i guess i can be in awe of the soft dx11 shadows :D

Quote "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".

What the.... So some may see eyefinity as an exploit / advantage :wall::rofl: , and yet on ea official forum they talk freely about piracy of bc2 and don't like to partake in better removal of hacks and real cheats.

Private locked servers ftw i guess, oh wait a mo...can we do that in bc2 ? :ph34r:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...