I found optimising Far Cry 4 for my system and trouble shooting its bugs on the PC to be very frustrating; until I took a planned, methodical approach to the problem. This should all really be a familiar routine to any PC owner by now, especially for recently released games (FC4 was released in November 2014). Why are all those settings there ? To tune the game to your system ! Why do we have guides like Tweakguides ? Because each system has its own unique problems ! Learn the idiosyncrasies of your system and learn how to do some simple troubleshooting and then running a PC is mostly fun … otherwise maybe its time to get a console ?
Actually I didn’t run through the entire Tweakguide PDF, but remembered Koroush Ghazi saying that some games can get into conflicts with background processes which led to the breakthrough. FC4 is badly conflicting with background processes for some reason. This appears to be a bug. I don’t get this behaviour with other games on my system.
My system: AMD R7 260x, Quad Core Q9650, Windows 7 64-bit.
So to start the fixes for FC4 …
1. Shut-down every single background process that you can. I even completely removed my Anti-virus. Disconnected my LAN connection (disable the adapter). I closed Process Lasso but left its background process running. I have never had to close Process Lasso until FC4, which points to a bug that causes conflicts with background processes. After doing this I noticed a major reduction in stuttering. In fact now most of the time its not there, with the engine running like it used to in FC3 on my machine.
2. Tweak the in game settings to your machine until you get a stable frame-rate. I found that most things can be turned right down, and as long as Anti-aliasing (SMAA is fastest) and Ambient Occlusion (SSBC is high performance) are on, everything looks OK. The only option that needs turning up is Textures, because that does look bad set to low. I got it up to Medium on my machine. That brings me to the so-called “fix” for stuttering much quoted on the internet, in point …
3. Much internet chatter recommends altering “GamerProfile.xml” in “C\Users\<username>\My Games\Far Cry 4\<long-number>“. I don’t think this is a good idea as changing these settings may adversely effect some other aspects of the game engine. Enabling “DisableLoadingMip0” did seem to stop stuttering on my machine at first … until I played parts of the game with large action scenes. Anyway, as I found out, the real problem lies with conflicts between FC4 and background processes. The only option that may be helpful on some machines is “GPUMaxBufferedFrames“, but I found it introduced lag on my machine. My recommendation, after finding the real problem (conflicts with background processes) is to leave “GameProfile.xml” well alone.
4. As with many of these type of games there is tendency to want to to turn up everything as high as possible, even if that lowers frame rates. This is wrong ! The thing that creates immersion and an illusion of a detailed dynamic world is high, steady, frame rates. This means that the point is not how “realistic” the game looks in still screen shots. The game is not a picture book, but a real time system designed to generate a powerful illusion of “being there”. That is primarily frame rate dependent. Think about it. Would a movie director put up with the frame rate jumping in his film, just so he could add in some extra effect ? No he wouldn’t. Because a film MUST run at a steady 24 frames per second. If frame rate changes are obvious, unless its a deliberate artistic effect, people would think that the theatre projector is faulty and ask for their money back ! So why make this mistake with your £40 game ?
So there you go. After all that I’ve been playing FC4 with all the random/dynamic in game events happening around me. Even missions, with lots of AI and events going on have been running smoothly. Happy gaming, and watch out for those damn Eagles !