Battlefield 4 Crossfire fix

matta85

Distinguished
Oct 27, 2010
76
0
18,630
Hi Everyone,

I have had quite some problems running BF4 since the release. I've tried most of the different suggested fixes around different forums on internet but without any luck.

My setup:

Windows 7 Ultimate 64bit OS
P8Z77-V Pro
i5 3570k running 4.4GHz
8GB 1600mhz ram (CAS 9)
XFX 7970's Black Ed. DD (rev. 2 / 2 x DVI) @ stock (for now)
XFX Pro 850W
XL2420T / 120hz
CCC: 13.11 Beta 9.2

Yesterday evening as I was testing different graphics settings to see FPS differences in the test range.

Thanks to LtMatt's thread over at OCUK on how to check if CFX is working properly. I set up Afterburner and RivaTuner with OSD.

Rivatuner doesn't work with 64bit applications so I launched BF4 in x86 mode.
AND behold what a difference. FPS was much more consistent, and frametimes was much lower, hovering around 8ms.

The only thing I see as a bummer is this: http://www.youtube.com/watch?v=2RFWBxb6xzI

I can finally run BF4 on Ultra x4MSAA with +100 fps the majority of the time.

NB: It is not possible (as far as I know) to change graphics settings when launching BF4 as x86, so therefore launch it in 64bit first. Set the graphics to whatever you want it to be. Close the game and Battlelog. Right click BF4 in origin, launch options and run x86.

Why this game is running so much more fluently I don't know. May have something to do with memory leak as many have experienced, and as a 32bit application only have access to only 4GB ram? Anyone want to elaborate on this?

Just wanted to share this fix, and hopefully it will help others as well with similar setup to mine.
 
x86 is limited graphics. like me with 2x7970s you should be easily seeing 140 fps most of the time in the x64 with everything maxed out. I see it sometime @180.

In afterburner make sure to check disable ULPS, check force constant voltage and sync both your cards to the same clock rate.

I monitor in the x64 using my keyboards lcd to show my temps and usages. You want to have both at atleast 95% most of the time. I know sometimes when I update the drivers my 2nd card stays at 99% and the other one fluctuates it some weird glitch. I usually reload it twice and its fine as well is disable then re-enable xfire and it fixes it every time.


Have you also turned off frame pacing? It supposedly causes issues in bf4 and I have never used it.

It took me a little while to get it perfect but now it runs great on both the 9.2 and 9.4 drivers
 

matta85

Distinguished
Oct 27, 2010
76
0
18,630
Thank you for your reply :)

I have disabled ULPS and synced both cards. I don't want to force constant voltage due to unnecessary power consumption and heat.

I would really like to get more thorough information about how you set it up. Do you use Radeon Pro? Did you creat a CAP in CC with BF4?
 
there is already a cap for BF4, when I go to edit it I lose performance so I leave CC alone.

I do not use radeon pro at all so if you are I would exit it when in bf4 and reset everything to see if it helps.

One other thing is in after burner I set my power limit to +20 and raise the voltage to 1256 which seems to be the best voltage to match my vapor x @ 1050/1500 but you can run 1233 etc.

enable voltage control in the settings and go to the msi install directory and remove the file that says oem and now you will be able to adjust your voltage
 

matta85

Distinguished
Oct 27, 2010
76
0
18,630
Thanks again for your reply :)

I run my other Sapphire 7970 GHz Vapor X @ 1175/1550 stable at stock 1256v (which actually was 1.236v in gpu-z due to droop) in triXX mod 4.4.0b. This ran BF4 smooth on a custom graphics mostly high and no aa average +120 fps, without ofc the usual crash/freeze which clearly is bf4 itself.

I bought two XFX 7970 Black Edition (revision 2/ 2x dvi ports - which are voltage locked unfortunately) in order to crank up the graphics from mostly high to ultra. Tried so many different settings now.

To mention some:

CC: Frame pacing on/off, BF4 cap,
RadeonPro: flip size que 0 also tried 1, dmc (dynamic vsync on, ingame vsync of)

The only way it seems I can get them to run smoothly in BF4 (without large fps drops, and microstuttering due to high ms in frametime latency) so far for me is to play in 32bit/x86 application :/