05 January 2014

Borderlands 2 - Essential Tweaks

These are the tweaks I applied to the Steam version of Borderlands 2. Whenever I install a new game, it takes some time to find all the essential tweaks necessary to run the game flawlessly. This post is just a collection of the most important tweaks, all in one place, as they work for me to get almost always 60 FPS.

System Setup

I run the game on a PC with the following components and drivers:

I installed only the Graphics Driver, the HD Audio Driver and the PhysX System Software and left the other drivers unchecked. I always choose a custom installation when updating my drivers, which provides the option to enforce a clean installation.

There is a glitch with the newest GeForce driver when using Firefox having hardware acceleration checked, causing Windows 7 to freeze completely. To solve the problem, either install a previous driver version or just uncheck hardware acceleration at: Options | Advanced | General | Browsing

Most of the tweaks require to edit either the file WillowEngine.ini or WillowGame.ini which can be found in the folder located at:

C:\Users\%USERNAME%\Documents\My Games\Borderlands 2\WillowGame\Config\

Driver Tweaks

This are the tweaks I applied using the NVidia Control Panel. There are some tweaks, like enabling Vertical Sync, which can be applied using the in-game options, but I prefer to do them in one place if they are tightly related.

The NVidia Control Panel can be accessed by the context menu, which appears when right-clicking on the desktop. First I had to select 3D Settings | Manage 3D Settings | Program Settings and Add the executable borderlands2.exe, which is located at <Steam Home>\SteamApps\common\Borderlands 2\Binaries\Win32. The important settings I applied were:

  • Vertical sync set to On, to enforce my native refresh rate
  • Triple buffering set to On, to improve the performance
  • Maximum pre-rendered frames set to 1, to reduce the work and heat on my graphics card and to avoid potential input lag

I disabled Vertical Sync in the Borderlands 2 in-game options to avoid potential conflicts.

Startup Tweaks

Watching the advertisement videos again and again is very annoying and time consuming. Hence it's best to disable as many of them as possible. In the file WillowEngine.ini find the section [FullScreenMovie] and prepend a semicolon to the following lines to make them look like this:

;StartupMovies=2K_logo
;StartupMovies=Gearbox_logo
;StartupMovies=NVidia
;StartupMovies=Loading

The next thing you may do is skipping the splash-screen, which forces you to hit Play to start the game. To do that, navigate to your Steam Library and right-click the Borderlands 2 image. Select Properties from the context menu and under the tab General click the button labeled as SET LAUNCH OPTIONS... Add the option -nolauncher separated by a space, in case you already have other options set.

That's it. Now whenever you start Borderlands 2 you should be taken directly into the game, not seeing as many advertisement videos as before.

Cosmetic Tweaks

One of the most annoying and absolute unnecessary feature when playing on a PC is texture streaming of ammo. If not disabled, you have to watch blurred ammo textures most of the time. To make the ammo texture load instantly, find the four properties shown below in the file WillowEngine.ini and change their values accordingly:

MipFadeInSpeed0=0
MipFadeOutSpeed0=0
MipFadeInSpeed1=0
MipFadeOutSpeed1=0

I love the comic style textures of Borderlands 2, but do not like the black outline. A nice side-effect of disabling those lines is a gain in performance. Find the property in the file WillowEngine.ini and change its value as shown below:

DefaultPostProcessName=WillowEngineMaterials.RyanScenePostProcess

Performance Tweaks

The most important tweak necessary to prevent Borderlands 2 from dropping significantly in FPS when fighting many enemies in an environment populated with many animated objects, is to set the in-game video option PHYSX EFFECTS to low. I did not noticed any quality loss while playing with low physics effects, but the tweak reduced the drop in FPS significantly.

The second most important tweak in terms of retaining FPS is to reduce the time to pass before dead bodies and projectiles become eligible for removal. The more dead bodies and projectiles the Unreal Engine has to render, the worst the performance will be, especially in fights. This tweaks together with the tweak described above fixed almost all of the temporary performance issues I had. In the file WillowGame.ini find the properties shown below and adjust their values accordingly:

[WillowGame.WillowPawn]
SecondsBeforeConsideringRagdollRemoval=5.0
SecondsBeforeVisibleRagdollRemoval=15.0

[WillowGame.WillowProjectile]
SecondsBeforeConsideringRemoval=10.0

The third most important tweak helping to retain FPS is to reduce the total number of visible projectiles at one time. Reducing them does reduce the burden from the PhysX System which is under heavy load in fights otherwise. Due to the tweak above, projectiles are removed in time so you won't miss to many projectiles. In the file WillowEngine.ini find the properties shown below and adjust their values accordingly:

ApexLODResourceBudget=10.0
ApexDestructionMaxChunkIslandCount=5
ApexDestructionMaxChunkSeparationLOD=0
bEnableParallelAPEXClothingFetch=False

The following tweaks are optional, because their impact on performance aren't huge. But on the other side, you won't observe any visual losses as well. Hence, if you like to get the most out of your fights without loosing any visual quality, find the properties below in the file WillowEngine.ini and adjust their values as well:

bSmoothFrameRate=FALSE
DetailMode=0

[Engine.Engine]
PhysXGpuHeapSize=64

That's it. I hope you enjoy playing Borderlands 2 without having any low FPS issues when fighting your enemies.

Logged Off: Harmlezz

Tweak Sources