Killing Floor 2

Killing Floor 2

28 ratings
Optimization of Killing Floor 2
By Enobraed
Optimization of Killing Floor 2 by Enobraed
   
Award
Favorite
Favorited
Unfavorite
Preface
This guide will be updated regularly, so please do not take it as the final version. I will inform you about any changes made in the comments of the guide.
If you know ways to improve game performance, please share them. However, do not include information about default settings in NVIDIA or AMD control panels or other common methods, or registry tweaks. This guide should focus solely on improving game performance, not system tuning.
This guide is intended to set the game to the lowest graphics settings. If you are using higher settings, be careful when disabling features, as some of them may be necessary for you.

Russian version of the manual
Location of configs
Windows: "%USERPROFILE%\Documents\My Games\KillingFloor2\KFGame\Config"

Linux: ".../steamapps/compatdata/232090/pfx/drive_c/users/steamuser/My Documents/My Games/KillingFloor2/KFGame/Config"
Initial setup
To remove irrelevant and incorrect settings, if you have previously customized the game, it is recommended to delete all files from the Config folder. After clearing the folder of files, it is necessary to launch the game and customize all settings through the graphical interface (GUI) in the settings menu. Then, after customizing the game through the standard settings, it is recommended to create a backup copy of the files (for example, on the desktop). For weaker computers, especially those with older graphics cards, it is recommended that you disable all graphics settings in the settings. While this may seem obvious, it's important to mention.
Next, you can move on to more detailed customization of the configuration files.
KFEngine.ini
[Engine.Engine]
Enable FPS limitation
It is recommended to enable FPS limitation, for this you need to set the parameter bSmoothFrameRate put in True
After that, specify the maximum FPS. For weak PCs the formula is sufficient:
Hz monitor + 1 (example: 60+1=61)
For more powerful PCs that produce a decent FPS:
Hz monitor x 2 + 1 (example: 60x2+1=121)
The obtained value should be specified in the parameter MaxSmoothedFrameRate
If you use RTSS Rivatuner Statistics (or any other software) to limit FPS, you need to set the same limit in it as in the game.
Disable static decals
Static decals are textures that are applied to game objects to create effects of damage, dirt, or other visual details.
bStaticDecalsEnabled=False
Disable dynamic decals
Dynamic decals are images that are displayed on game objects in real time, creating effects of damage, marks and dirt.
bDynamicDecalsEnabled=False
Disable subtitle support in the engine
If you don't use subtitles and you have them disabled in the settings, you need to disable them in the engine.
bSubtitlesEnabled=False
Disable error display and handling
There is a parameter in the engine that controls the display of Kismet warnings on the screen. Kismet is a tool for creating scripts and logical operations in Unreal Engine.
bOnScreenKismetWarnings=False bEnableOnScreenDebugMessages=False

[Engine.StartupPackages]
Enable full compressed loading of game launch packages
Packages can be asynchronously unzipped during the download time, which can speed up the download process.
bFullyCompressStartupPackages=True
Disable downloading of materials for debugging
This package includes various materials used for debugging:
Bone Weights mapping (BoneWeightMaterial), Mesh debugging (DebugMeshMaterial), Normal mapping (DebugNormalMaterial), Tangent mapping (DebugTangentMaterial), UV coordinates mapping (DebugUVColorMaterial), Wireframe mapping (WireframeMaterial).
It is necessary to delete this line:
Package=EngineDebugMaterials

[IpDrv.TcpNetDriver]
Allow direct connections
Allow direct connections between client and server, which will speed up data exchange between them.
AllowPeerConnections=True AllowPeerVoice=True
Rate setting
Increase the speed of information exchange with the server by increasing the rate to the maximum value.
MaxClientRate=104857600 MaxInternetClientRate=104857600

[TextureStreaming]
Disable dynamic map loading
Dynamic map loading is enabled by default, which means that some details are loaded during the game. On slow hard disk drives (HDD) this can lead to temporary artifacts and slowdowns. If your computer has enough RAM (more than 8 GB) and video memory (more than 3 GB), it is recommended to disable dynamic loading. This will allow you to fully load the video card and RAM when entering the match, avoiding possible graphical errors and sluggishness associated with data loading during gameplay.
UseDynamicStreaming=False
Enable asynchronous memory defragmentation
Asynchronous defragmentation runs in the background without blocking main operations. This allows you to optimize memory usage without compromising performance.
bEnableAsyncDefrag=True
Enable asynchronous memory reallocation
Reallocation is the process by which an application changes the size of allocated memory for its objects. Asynchronous reallocation is performed in the background without blocking main operations.
bEnableAsyncReallocation=True

[FullScreenMovie]
Disable intro videos
Disabling intro videos can speed up the game launch process.
bForceNoMovies=True

[LogFiles]
Disable logging.
PurgeLogsDays=0 LogTimes=False
KFGame.ini
[KFGame.KFGoreManager]
Minimal amount of blood
Almost complete elimination of blood as much as possible. Playing will be more enjoyable due to less blood on the screen. Reducing the amount of blood on the screen can make gameplay more comfortable. It will allow you to focus on the game experience itself, minimizing distractions.
It will also reduce the load on the graphics card.
GoreFXLifetimeMultiplier=0 BodyWoundDecalLifetime=0 BloodSplatterLifetime=0 BloodPoolLifetime=0 GibletLifetime=0 MaxBodyWoundDecals=0 MaxBloodSplatterDecals=0 MaxBloodPoolDecals=0 BloodSplatSize=0 BloodPoolSize=0 MaxBloodEffects=0 MaxGoreEffects=0 AllowBloodSplatterDecals=False PersistentSplatTraceLength=0 MaxPersistentSplatsPerFrame=0
Minimum number of corpses on the map
Fewer corpses can make the environment less bleak and eliminate potential distractions.
It will also relieve RAM and video memory.
MaxDeadBodies=4
KFSystemSettings.ini
[SystemSettings]
Disable static decals
Static decals are textures that are overlaid on game objects to create effects of damage, dirt or other visual details. The value should be as in the bStaticDecalsEnabled parameter in KFEngine.ini.
StaticDecals=False
Disable dynamic decals
Dynamic decals are images that are displayed on game objects in real time, creating effects of damage, marks and dirt. parts. The value must be as in the bDynamicDecalsEnabled parameter in KFEngine.ini.
DynamicDecals=False
Disable blurring
Blur is an effect that simulates sudden camera movement in dynamic scenes. It creates a sense of chaos and urgency by making the image look fuzzy and blurry, as if the camera were moving abruptly.
AllowRadialBlur=False MotionBlur=False MotionBlurPause=False MotionBlurSkinning=0 AllowRadialBlur=False DropParticleDistortion=False MotionBlurStaticScale=0 MotionBlurDynamicScale=0
Disable reflections
Reflections is a visual effect that mimics specular reflection on surfaces, giving realism and depth to the virtual environment.
AllowImageReflections=False AllowImageReflectionShadowing=False
Optimize the fog
To optimize the fog you need to change two parameters. Visually the fog will not lose quality, but some effects that load CPU and partially GPU will be disabled.
FogVolumes=False DistanceFog=False
Disable breakable glass
bAllowFracturedDamage=False
Enable load redirection from GPU to CPU
Redirecting part of the load from the graphics card to the CPU is relevant for weak graphics cards. This allows you to improve performance by offloading the graphics card (GPU).
bForceCPUAccessToGPUSkinVerts=True
Disable display of static and dynamic decals
This parameter is responsible for static and dynamic decals. Set the value similar to StaticDecals and DynamicDecals if you have the same value.
UnbatchedDecals=False
Disable dynamic shadows
Dynamic shadows is a system where shadows react to their surroundings, as opposed to static shadows which always look the same no matter what is going on. If you disable this feature, characters can turn out very dark, but it will greatly improve performance on weak graphics cards.
DynamicShadows=False
Decal level of detail
Adjusts the level of detail of decals depending on the distance of the camera from them. The lower the value of this setting, the less detailed the decals will be as you approach them. Reducing this setting will make the decals disappear faster, which can improve performance. This parameter also determines the distance at which decals begin to disappear from view.
Minimum value: 0.1
DecalCullDistanceScale=0.1
Disable optional dynamic lighting enhancement
There is some "crutch" in the game, for some kind of improvement of dynamic lighting, but when you disable it, visually nothing changes, but the load on the processor and video card goes down. If this is not the case, let me know about it.
CompositeDynamicLights=False
Optimizing foliage on trees
SpeedTreeLeaves=False SpeedTreeFronds=False
Disable effects
FloatingPointRenderTargets=False
Disconnect shadows from the environment
LightEnvironmentShadows=False
Disable dynamic lighting
Disabling dynamic lighting will cause most lights, shadows, decals, blood and other effects to disappear. Graphics will be greatly simplified, which will affect the overall. visuals. picture. When disabling dynamic lighting, it is recommended to increase the brightness to the maximum level and be prepared for possible graphical errors. Although the performance of the game will increase significantly, the gameplay may become less comfortable due to the simplified graphics. This optimization method is recommended to be used only on very weak computers when other optimization methods fail.
DynamicLights=False
Disable transparent lighting for objects
Transparent lighting (translucency) is used to create an effect where objects such as trees or plants reflect the light coming through them.
bAllowSeparateTranslucency=False
Disable high quality materials
Disable the use of high quality materials for objects in the game. This parameter affects the quality of textures, normals and other material parameters.
If you do not use high graphics settings, you can disable high quality materials, visually the picture will not become worse.
bAllowHighQualityMaterials=False
8 Comments
failure :( 26 Jul @ 4:02pm 
i found something interesting in KFSystemSettings.ini: the "ScreenPercentage", which might help some people out there
basically, its kinda like upscaling's old brother that used to help me quite a lot in the past
hagumi_gaming 23 Jul @ 7:38pm 
i UwU fembois -w- #KillTF2

Running on an Ryzen 3 3200G w/ 8GB DDR4 RAM, by following the optimization and a benchmark by running a few games:

Disabling lighting gets you at a stable 60FPS on a 1080 resolution on solo. While getting a range from 40-60FPS on multiplayer.

Keeping lighting on gets you at a stable 30FPS on a 1080 resolution on solo. While getting less than 30FPS on multiplayer.
failure :( 22 Jul @ 5:07am 
Actually quite wondering, how much FPS my iGPU will be capable of giving me if I disable lighting + use the resolution scale option that for some reason is hidden in ini files as I remember
hagumi_gaming 19 Jul @ 5:03pm 
Enobraed
Thanks again! Had to sacrifice some FPS because some locations in maps like Burning Paris are pitch black when DynamicLights is set to false lol.
Enobraed  [author] 19 Jul @ 8:45am 
hagumi_gaming
Set the DynamicLights parameter to True.
hagumi_gaming 19 Jul @ 4:53am 
Helped a lot, though I notice the flashlight isn't working.
Enobraed  [author] 18 Jul @ 8:53am 
Xx_FemboyBreeder69_xX #KillTF2
Glad it helped you!
failure :( 17 Jul @ 2:24pm 
Worked really well for me! I can finally have stable 30 FPS while playing in 720p instead of something low like 800x600.