Battlefield 3 CrossFire Tweaks

Discussion in 'Videocards - AMD Radeon Drivers Section' started by ipredator, Apr 8, 2012.

  1. ipredator

    ipredator Master Guru

    Messages:
    542
    Likes Received:
    0
    GPU:
    Quadro K5000M
    So I decided to open a thread related to BF3 and Crossfire, since there are so many questions about smoothness/best driver etc.

    I myself have had microstuttering all over the place until I tweaked a few things, that may appeal to most Crossfire (also 7k series) users. I'll try to explain the following as detailed as I can.

    If you turn around ingame and experience a choppy feeling despite having a high FPS like 60-100, you have the same problem as I had.

    To fix this without Vsync, do the following few steps:

    1) Find your favourite RenderAheadLimit option.
    Go into a random game, open the console with the button left of 1 and write "RenderDevice.ForceRenderAheadLimit X", replace the X with anything between 0-3, just find the option that gives you the smoothest mouse moving.
    Note: You need to write this everytime when a new map's loaded. But once you found your best number, you can create a "user.cfg" file, type the command into it and place it where your "bf3.exe" is. To create a "user.cfg" just use your notepad/editor and save a file as file-name "user.cfg" while file-type is set to "All files". If it's set to Text-file (default) you will get a "user.cfg.txt" file that won't work of course :)

    2) Use D3DOverrider to force Tripple Buffering
    Note: Tripple buffering does not require vsync when forced by D3DOverrider. Tripplebuffering gives the advantages of Vsync (No screen tearing, very smooth gameplay) while having NO disadvantages (meaning NO mouse lag which comes with Vsync). Download RivaTuner and install it. You don't need the program itself, but D3DOverrider comes with it. Once Rivatuner's installed, you can go to the folder and find "Tools" and "D3DOverrider.exe". Launch it. It may launch in your system tray or as a Pop Up. If it does not open, kill the process. D3DOverrider did not launch for me the first time I tried it :p You might need to set it to compatibility mode Windows XP SP3. I personally found the program launching after 5 minuits while searching the web for a fix, so you may only wait for a few minuits if it does not open at once.

    Once its open, just click on the "+" symbol, navigate to your "bf3.exe" and add it. Next you want to unclick "force vsync", but keep "force tripplebuffering" on.

    This should to the trick!
    Get into a game again, if you hear a windows sound when BF3 launches the overrider works correctly. And you will notice the smoothness ingame.

    3) Disable HyperThreading
    If you have an Intel CPU with HyperThreading (i.e. i7 2600k) be sure to disable it in your BIOS. There is almost no game atm that benefits from HT, and unless you have countless applications running while playing BF3 you really want to disable it since firstly it actually increases your FPS a bit and secondly removes additional microstuttering in BF3. I have to say that BF3 is the only game that really sucks with HyperThreading, in BC2 or Crysis 2 you won't notice a big difference.

    4) >8GB RAM: Turn off Pagefiling
    Really only do it if you won't ever run out of RAM (like having 8, 12 or 16GB of it). Check out this article for turning it off.

    5) Download and run killaero.bat to disable Windows Aero while gaming

    Plain and simple, thanks to syncore for sharing it:
    6990 users: You may also want to create syncore's custom CCC profile (if your CCC isn't bugged ofc). Note that he's running a multi-gpu card.

    Alternative: If simply killing aero does not help the smoothness, check out Gamebooster.
    This program temporarely stops unneeded processes. Note that as in BF3 almost everyone is GPU bottlenecked, one could ask "Why decrease the CPU load?". Well this program also allows you to disable Windows Aero (the shiny transparent windows and stuff) while you're gaming. And for some weird reason BF3 gets REALLY smooth when I start Gamebooster which sets your windows design to "Basic" temporarely. I don't gain FPS really, maybe 1 or 2, but it smoothes out the gameplay by much, it does the last addition to tripple buffering.
    So download and install Gamebooster. Be sure to uncheck every box in the installation as you really only need Gamebooster itself, and not the other suggested additions. Then run it, click "Settings", click the second bar (Unneded Services) and check "Designs". You need to check design because you want it to be set to "Windows Basic" as it gets rid of Aero as explained above. You may check other unneeded processes too if you want to help your CPU. Then save and run the "Switch to Gaming Mode" icon on your desktop. You can launch BF3 from the GameBox too if you want. Then launch an actual game and check if it smoothes your performance out too! After you are done playing, you just need to hit "Back" in GameBooster, or if you launched it via the GameBox it should quit the process-stopping automaticly.

    I will upload my own user.cfg file later, if you don't want to create your own.
    Mine contains:
    Gametime.maxvariablefps 80 --- for capping the FPS at 80
    RenderAheadlimit 1
    Dx11Enable 1
    *Edit: My user.cfg

    There is another optional fix which does not require D3DOverrider, however it involves Vsync which is broken for some 7k series users in current drivers.

    Plan B (if the usual fix did not work)
    Just enable ingames Vsync (stops screen tearing and smoothes out the performance) and type in the console "Gametime.MaxvariableFps 59" for most users. If you have a 120hz monitor and achieve a constant 120+ FPS, use "Gametime.MaxvariableFps 119".
    By limiting the FPS 1 frame under the screens refresh rate, the mouse lag is reduced (however not entirely).
    Note that if Tripple Buffering (primary fix) works correctly you should achieve the smoothness and screen tearing fix of vsync without having to put up with the mouse lag.

    The driver that works best for me (6970m Crossfire, basicly a pair of 6870s underclocked): 8.95.05 February 24.
    Note: It's called the Radeon HD 7800 driver only because it adds support for these cards, of course it works for all other cards listed in the spoilers.


    Finally, have fun with a smooth BF3 experience!
     
    Last edited: Apr 9, 2012
  2. Simkin84

    Simkin84 Member Guru

    Messages:
    124
    Likes Received:
    0
    GPU:
    2X MSI HD 7970 @1150/1600
    To be honest, i have never seen any difference no mather what i do..

    The only thing is that without VSync i get screentearing, so VSync is actually the only visuall "improvement" i have seen.

    Tripple Buffering - I cant see any difference (Using Radeonpro)
    RenderAheadlimit - No difference no mather if i set 0 or 8

    One other thing that is supposed to improve Crossfire, is to set Flip queue Size to 0 using Radeon pro, but again, my eyes cant see any impovement..

    I'm using 7970 Crossfire and 120Hz.

    7970 CFX and BF3 is stuttery no mather what i do, i blame the drivers.

    Just to have it said, im on a fresh Windows install right now, and i have tried every driver since January 10th.


    But of course, nice thread, hope others can get their BF3 experience better :banana:
     
    Last edited: Apr 8, 2012
  3. adrock311

    adrock311 Master Guru

    Messages:
    793
    Likes Received:
    0
    GPU:
    EVGA GTX 1070 SC 8gb
    ipredator: this is interesting, you mean that BF3's default triple buffering on for everyone doesn't work with crossfire properly, and you have to force it?

    I've found that running BF3 in crossfire with vsync on and triple buffering off (to reduce input lag) works the best.
     
    Last edited: Apr 8, 2012
  4. smoney

    smoney Member

    Messages:
    34
    Likes Received:
    0
    GPU:
    SAPPHIRE NITRO R9 390
    I"ve been using the 8.96 Feb 14 drivers. ccaps used. Here's my user.cfg

    RenderDevice.TripleBufferingEnable 0
    Render.DeviceVSyncEnable 1
    GameTime.MaxVariableFps 59
    renderdevice.forcerenderaheadlimit 0

    My frames never dip. Constantly smooth and no mouselag despite the vsync. The trick is to cap fps just below the refreshrate and to disable tripplebuffer. Ultra everything except msaa is 2x, not 4x. 1080p.
     
    Last edited: Apr 8, 2012

  5. wolfmenace

    wolfmenace Member

    Messages:
    22
    Likes Received:
    0
    GPU:
    HIS 5970x2 2GB DDR5
    You can also use the CFG Configurator :p

    http://donotargue.com/cfg-makers/battlefield-3/

    Also many people said that you have to save the "User.cfg" with the "U" be in capital otherwise it will not work.

    Also

    RenderDevice.ForceRenderAheadLimit 1

    it solves many problems....... in case you dont have it add it!
     
    Last edited: Apr 8, 2012
  6. g00f

    g00f New Member

    Messages:
    9
    Likes Received:
    0
    GPU:
    Xfire AMD 7970's
    I think the MAX value for "RenderDevice.ForceRenderAheadLimit" is 3 as thats what I read in a DICE Doc somewhere, and the config maker shows it only upto 3 also.

    I use this in my config file by just adding manually, but its also got some specific FXAA injector info that I keep for the graphics fine tuning.

    Thanks for the post OP, great info to share.
     
  7. slickric21

    slickric21 Ancient Guru

    Messages:
    2,458
    Likes Received:
    4
    GPU:
    eVGA 1080ti SC / Gsync
    Use RadeonPro to force triple buffering, it works without vsync also.

    It also works with modfied dx files, eg SMAA / FXAA injectors. Unlike d3doverider.

    It would be cool if the triplebuffering was added to RTSS which is up to date, but thats another issue.
     
  8. ipredator

    ipredator Master Guru

    Messages:
    542
    Likes Received:
    0
    GPU:
    Quadro K5000M
    According to this Article most Dx games' "Tripple Buffering" is a fake one, you might want to read it later on. g00f is right, in BF3 particularly you have only 3 Render-Ahead limit options, which BF3 calls Tripple-Buffering. Read the article for more information!

    @smoney
    I used to have that setup too (Vsync on | Cap framerate at 59 for reduced mouse lag), but with forced *real* Tripple-buffering you achieve the benefits from Vsync without the mouse lag that comes with it, so in the end means you can play on a high framerate instead of 59, with zero mouse lag.

    @Simkin
    Not sure if RadeonPro works anymore, at least it does not with newer beta drivers. It may work for certain things, but not for everyone and not with every driver, and as you can see no diffrence you should definately give D3DOverrider a go.

    Updated first post with 2 more steps.

    Please feel free to post the driver that works best for you, I'll include them into the first post to help new guys orient on which driver to use (even though I know that what counts for 1 user does not necessarily involve the same performance for another user with the same card)!
     
    Last edited: Apr 8, 2012
  9. adrock311

    adrock311 Master Guru

    Messages:
    793
    Likes Received:
    0
    GPU:
    EVGA GTX 1070 SC 8gb

    cool, man

    i'll give it a try
     
  10. Extraordinary

    Extraordinary Ancient Guru

    Messages:
    19,562
    Likes Received:
    1,625
    GPU:
    ROG Strix 1080 OC
    My BF3 won't even get past the loading screen with CFX enabled

    I made a User.cfg and for the first time ever it loaded and ran, textures were nasty and it was a slow laggy pos, so removed the cfg file and now it won't load with or without it again

    BF3 = fail for CFX
     

  11. ipredator

    ipredator Master Guru

    Messages:
    542
    Likes Received:
    0
    GPU:
    Quadro K5000M
    Happend to me too, when I used certain drivers like 8.96 Feb28th and a second one which I can't remember, anyway just update the graphics driver to the 8.95.05 I listed in the 1st post. Unlike Skyrim, BF3's Crossfire is tricky, but at least fixable :)
     
  12. Extraordinary

    Extraordinary Ancient Guru

    Messages:
    19,562
    Likes Received:
    1,625
    GPU:
    ROG Strix 1080 OC
    Thanks but I'd prefer to have no BF3 than mess on with drivers all the time
     
  13. ipredator

    ipredator Master Guru

    Messages:
    542
    Likes Received:
    0
    GPU:
    Quadro K5000M
    Yeah I know, switching drivers takes a lot of time. Which one are you currently on so I know what not to suggest?
     
  14. Extraordinary

    Extraordinary Ancient Guru

    Messages:
    19,562
    Likes Received:
    1,625
    GPU:
    ROG Strix 1080 OC
    Official 12.3
     
  15. ipredator

    ipredator Master Guru

    Messages:
    542
    Likes Received:
    0
    GPU:
    Quadro K5000M
    Ok I know that they suck, they even messed my GPU clocks, had no HDMI driver and came without a atipdl.dll which gets the default clocks for Afterburner and stuff.
     

  16. adrock311

    adrock311 Master Guru

    Messages:
    793
    Likes Received:
    0
    GPU:
    EVGA GTX 1070 SC 8gb
    Well I tried this method of using d3doverrider to force "true" triplebuffering on and it worked but its not as smooth as my old method of vsync on, triplebuffering OFF, and framelimit 59, so I'm going back to that.
     
  17. ipredator

    ipredator Master Guru

    Messages:
    542
    Likes Received:
    0
    GPU:
    Quadro K5000M
    Interesting, what FPS do you achieve without vsync and capped frames? Also which driver did you use? Have you turned off Pagefiling?

    Edit: If D3DOverrider really worked there's a windows sound popping up when launching the game, did you hear it?

    Edited first post with Plan B - Vsync solution (definately only check it out if triple buffering does not work for you, as it requires the frame rate being locked at 59 or 119.
     
    Last edited: Apr 8, 2012
  18. adrock311

    adrock311 Master Guru

    Messages:
    793
    Likes Received:
    0
    GPU:
    EVGA GTX 1070 SC 8gb
    I"m using 12.3 drivers, yes i heard the sound while launching the game, and it definitely made the game smoother, and my framerate was about 80 or so avg, but there is a sort of choppyness, laggy feeling at times, there even though the framerate is high. I don't turn off pagefile.
     
  19. Simkin84

    Simkin84 Member Guru

    Messages:
    124
    Likes Received:
    0
    GPU:
    2X MSI HD 7970 @1150/1600
    D3DOverider didnt do it for me, neither did turning off HT..

    Still this unsmooth stuttery movement when turning around..

    Im really on the edge about selling the 7970 setup for a GTX 680 setup, atleast it seems like GTX 680 SLi is working much better the 7970 CFX in BF3.
     
  20. ipredator

    ipredator Master Guru

    Messages:
    542
    Likes Received:
    0
    GPU:
    Quadro K5000M
    Updated first post with Step 5 which I forgot earlier :p
    Simkin, if you notice no improvement with D3DOverrider despite hearing the windows sound, it might really just be the crappy unfinished AMD drivers of the 7k series. Which driver are you currently using? What are your user.cfg settings? Maybe something that interferes with the fixes.
    Also check out my new step 5, for a last attempt of fixing it. But as I experienced it, you should notice an improvement after turning HT off, a slight one after turning Pagefiling off, and a very noticeable one after forcing TrippleBuffering. Running Gamebooster w/ disabled Designs should bring your smoothness to 100%.
     

Share This Page