ATI Radeon HD 4870 X2 and Battlefield Bad Company 2
So I’ve been a long term Battlefield 2142 player and recently switched over to Bad Company 2. It is well nice but there are quite a few things that are different than 2142, I’m talking in both a game play sense and a game engine sense. I made a post about migrating from BF2142 to BFBC2 as it might save someone from a lot of mistakes that I made. Anyhow, today’s post is about how to get Bad Company 2 running awesomely with an Ati 4870 X2 graphics card.
I updated to the latest Catalyst Control panel earlier this morning and it reports my Catalyst version as 10.9, on the download site it said it was 11.1 of the suite though.
One problem I have been getting with BC2 that has really spoilt my game a few times has been that the screen keeps flickering black. So imagine you’re in a fixed gun taking out hordes of bad guys, then the screen goes blank. You have no idea where you’re aiming, where the enemy is or who is about to knife you. Totally lame. It starts and stops randomly. Not sure if what I’ve done today has sorted it but time will tell. [edit: nope, didn’t fix that problem at all]
So my observations are:
- The game ignores the AA and AF sliders in the Catalyst control panels 3D section. I set AA and AF in the game options to 1x and tried the Ati panel options at max and nothing happened. The game looked all jagardy. I had the AA filter set to Box.
- The game totally hates the AA Edge Detect filter. To use that you must have the Ati AA slider set to either 4x or 8x. Above or below and it will not show in the drop down. At any rate, it kills the game. Lots of little black blocks appeared over everything and kept popping in and out. Seems the game and Ati systems start fighting. So never ever use the Edge Detect AA filter with BC2. I did read that is supposed to be the holy grail for performance and quality for games that do support it so will defintely try it with other games.
- V-Sync sucks. I told the Ati panel to let the application decide about vsync and then ingame I had it enabled. That’s how I’ve been playing so far. With it turned off in game I have terrible screen tearing going on. My monitor is a Samsung SyncMaster 245B running at 1920×1200 at 60 hertz. So why do I say vsync sucks? Well it makes the game seem a bit sluggish sometimes, like you will be trying to aim but it just wont scroll over fast enough. Like moving through sand, there you go, a great analogy ^_^
- V-Sync problem is solvable thanks to D3DOverrider utility.
How do you use D3DOverrider?
- Head on over to the Guru 3D RivaTuner page and download the latest version. Don’t install it.
- I use 7-zip as my daily zip tool. That let me right click on the rivatuner installer exe and unzip it (RivaTuner224c-[Guru3D.com].exe). Then I went into the setup directory and again, right click and unzipped the second installer exe (RivaTuner224MSIMOA2009Edition.exe).
- Inside the Tools directory is one called D3DOverrider. Copy that to a location of your choosing. I install my games into a “Games” directory so I just moved the D3DOverrider one there.
- You can delete all the rivatuner stuff now as you’re done with it.
- Now load up D3DOverrider.exe, tick start with windows if that’s what you want to do or make sure to have a link to it in a handy location i.e. next to your BC2 icon. That’s what I do.
- Click the big + symbol at the bottom left of the list of applications. Navigate to the BFBC2Game.exe in your Bad Company 2 install directory.
- Now select that exe in the application list and set the right hand options to:
- Application detection level: High, not sure if there’s a difference in game vs Medium but it doesn’t seem to do any harm.
- Force triple buffering: ON
- Force VSync: OFF
- That’s it, just minimise it now and make sure to run it whilst you’re playing BC2.
That now allows me to play the game with ingame graphics options set to maximum quality 8x MSAA and 16x AF with vsync off and all along I get no screen tearing. It’s great because at some points the game is running at over 80 FPS. During intense combat it does dive to about 45 FPS but then it eases off again. The best part is that it no longer feels like I’m playing under water with the slow screen reaction time.
Here’s my final setup so there’s no confusion:
- In Game Settings
- Detail and quality levels: High
- AA: 8x MSAA
- AF: 16x
- VSync: Off
- HBAO: Off
- CCC 3D App Settings
- AA: Use application settings ticked
- Filter: Box
- AF: Use application settings ticked.
- AI: Advanced.
- Mipmap Detail Level: High Quality.
- Wait for vertical refresh (VSYNC): Off, unless application specifies.
- Adapative Anti-Aliasing: Enabled and set to Quality.
- OpenGL Triple Buffering: Ticked.
- D3DOverrider Settings
- Application detection level: High.
- Force triple buffering: On.
- Force VSync: Off.
Hope this helps someone else out there as it took me quite a few hours of testing to get to this point ?
p.s. here are my 2142:
Edit: I just found Gossamer’s Bad Company 2 Launcher v3.00 which lets you tweak a bunch of things. Most of them you can do in the in game settings screen but a few you can’t. The website says it is version 3.00 but when you unzip and run it you can see it states version 1.3. Just thought I’d mention that in case anyone was confused.
I thought it would be something I use each time I load the game but it actually seems more like something you run once, tweak and then save and then don’t run again until you actually want to change something. Prior to this I thought maybe it was adding command line arguments but it’s not, it just changes the games ini files.
- For testing I’m using a game check point in “No one gets left behind” where you are in a small wooden hut and your AI squad mate hands you a sniper rifle. There are a bunch of enemies running across fields to get you both. The nice thing about this scene is that as soon as it starts you can test out the AA and AF quality by just looking around. The cans scattered on the floor to the right of you are clearly affected by the AA setting whilst the actual window frames are not, until you move closer to them. Then for testing out some action I just sniper a few people, blow up the two explosive crates and then run out and charge them for some grenade testing action.
- In the tool it gives you the Anti-aliasing scale using the NVidia range.
- Since I have an Ati 4870 the 16x and 16xQ settings do nothing. In game it works but the settings page reports both as 8xMSAA.
- Using 8x actually seems to create artifacts on the screen. Like screen tearing weapon ghosts. 8xQ works fine however and in game is reported as 8xMSAA.
- At 8xQ AA with 16x AF I get about 60 FPS during a heavy gun fight. Drops to 45-50 when a grenade goes off close and dust is kicked up. 4x AA and 16x AF meant it averaged around 75 FPS in the same scenario.
- Setting the AA to 4x is the Goldilocks selection for me. That extra 10-20 FPS it gives over 8xQ is just to nice to miss out on.
- Sticking with an AA of 8xQ (or 8xMSAA in-game) I tried lower AF values and found that the AF seemed to make no noticeable difference to the FPS.
- I tried setting the DX version to 9 which forces an AA of 1x and got around 55 FPS which is no better than my normal DX10 setup. Changing the AF made no noticable performance difference.
- So lessons learned, AA of 1x or 2x looks pants. DX9 setting runs terribly since it’s both slow and you can’t use AA. In DX10 mode 8xQ looks best but 4x runs the best. 8xQ looks nicer for long distance things but at close range it seems very hard to notice a difference. Changing the AF value made no difference so might as well leave it at 16x.
I also changed my FOV using a value I obtained from the Battlefield: BC2 FOV Calculator. For my 1920×1200 res with a desired horizontal FOV of 90 my final vertical FOV is 65. The game had it set to 55 as default.
I changed the Sound Quality to high and haven’t noticed a performance difference. I haven’t played enough to really tell if it sounds any better. You would assume it would. I set my speaker count to 6 since I have a 5.1 system. 0 means it has to auto-detect your sound setup.
That’s it as far as the launcher tool goes for me. Now I’ve set all of that I’m just going to launch the game normally with the desktop link I have directly to the game i.e. not via the launcher.
I did tweak my BC2 desktop shortcut a bit though to add the multi CPU switch +fullproc as explained here. I have an Intel Core 2 Quad Core Q6600 CPU.
If you want the best performance for BC2 and your card you need to “downgrade” to the 10.5a drivers. You will see a huge increase in FPS.
Yeah, but then I lose the optimisations from the later profiles. Next month I’ll be sorting out my new system and I’ve already decided to go with dual Nvidia cards. My experiment with Ati is at a dissapointing end.
I noticed in multiplayer my average FPS tends to be around 50 although it does fluctuate alot depending on what is happening.
In the meantime, I did notice that the 11.1 catalyst package is now listed on the AMD site so I’m installing that. Will play BC2 later when I get home so will see how that affects the performance.
agh! tricked again by AMD. The 11.1 Catalyst download is actually the 10.9 driver which is what I already had installed. I think I’ll just stick with this until I switch to the new system, will probably help motivate me ^_^
So I installed the 11.2 Catalyst driver the other day and tried that out. Didn’t see any noticable performance change in game. Didn’t fix the flickering black screen issue.
Tonight I decided to try the 10.5 drivers as recommended by mouthster. Used FRAPS to do my benchmarking. I ran the game 3 times with my 11.2 drivers and 3 times with the 10.5s. I haven’t actually looked at the results yet so I’m just as curious as you to see the outcome.
Level of detail: High
Texture Quality: High
Shadow Quality: High
Effects Quality: High
AA: 8x MSAA
VSync: Off (and I’m running the D3DOverrider utility)
Catalyst Settings For Both 11.2 & 10.5
AA: Use application settings
AA Filter: Box
AF: Use application settings
Mipmap Detail Level: High Quality
Wait For Vertical Refresh V-Align (Vsync): Off, unless application specifies
Adaptive AA: Enabled & Max Quality
OpenGL Tripple Buffering: Enabled
11.2 Benchmark Averages
Average of averages: 64.318 FPS
10.5 Benchmark Averages
Average of averages: 63.927 FPS
So there you go, there is practically no difference between the drivers, we’re talking 0.5-1 frame difference. For the sake of general stability I’m going to re-upgrade myself to the 11.2 drivers. It was a nice idea and I was quite excited to see the “huge increase in FPS” but sadly, it was a red herring.
FRAPS is not a good indicator of the real feel of the game. Drivers beyond 10.5a have poor crossfire support for the 4870×2 and BC2 and introduce micro-stuttering that don’t show in the numbers.
I’m just going to leave it for now, Just disabling VSync and using D3DOverrider really helped make things a lot smoother. ATI/AMD lost my business when I realised that not one of the last few AAA games works fine with their drivers. Dawn of War, nope. Supreme Commander, nope, Bad Company 2, nope.
The new 6990 from AMD sounds very powerful but it also sounds like a power and sound hog. It sounds like the NVidia 590 will be along the same lines but probably on par with having two 580s. I’m going to do either one 590 or two 580s. Will wait and see what Toms Hardware says once the 590 is out.
For anyone interested, I have managed to solve the black screen problem for myself. It came about as I attempted to solve yet another bug in the AMD drivers. I wrote about it here.