KF2 Performance Config: Lowest Graphics via KFEngine and KFGame INI
This guide tunes Killing Floor 2 to its lowest graphics settings through three config files, aiming at maximum performance on weak PCs rather than at general system tuning. The author updates it regularly and asks readers to share extra tweaks, excluding NVIDIA or AMD control panel defaults and registry hacks. If you run higher settings, be careful when disabling features, because some of them may matter to you. See also FPS tweaks for textures and dynamic lights and graphics settings optimization.
Where the configs are
- Windows:
%USERPROFILE%\Documents\My Games\KillingFloor2\KFGame\Config - Linux (Proton):
.../steamapps/compatdata/232090/pfx/drive_c/users/steamuser/My Documents/My Games/KillingFloor2/KFGame/Config
Initial setup
If you customized the game before, delete all files in the Config folder to remove stale or wrong settings, launch the game, and set everything through the in-game graphics menu. Then back the config files up and start editing.
KFEngine.ini
[Engine.Engine]
bSmoothFrameRate=TrueandMaxSmoothedFrameRateset to monitor Hz + 1 on weak PCs (60 Hz gives 61), or Hz x 2 + 1 on stronger ones (121). If you use RTSS or another limiter, set the same limit there.bStaticDecalsEnabled=False,bDynamicDecalsEnabled=FalsebSubtitlesEnabled=Falseif you do not use subtitlesbOnScreenKismetWarnings=False,bEnableOnScreenDebugMessages=False
[Engine.StartupPackages]
bFullyCompressStartupPackages=Trueallows asynchronous unpacking while loading.- Delete the line
Package=EngineDebugMaterials, which only loads debugging materials.
[IpDrv.TcpNetDriver]
AllowPeerConnections=True,AllowPeerVoice=TrueMaxClientRate=104857600,MaxInternetClientRate=104857600for the fastest exchange with the server.
[TextureStreaming]
UseDynamicStreaming=Falseif you have more than 8 GB RAM and more than 3 GB VRAM. Dynamic loading can cause temporary artifacts on slow HDDs.bEnableAsyncDefrag=True,bEnableAsyncReallocation=True
Other sections
[FullScreenMovie]bForceNoMovies=Trueskips intro videos.[LogFiles]PurgeLogsDays=0,LogTimes=Falsereduce logging.
KFGame.ini
Under [KFGame.KFGoreManager] the guide sets nearly all blood and gore values to zero to cut screen clutter and GPU load: GoreFXLifetimeMultiplier, BodyWoundDecalLifetime, BloodSplatterLifetime, BloodPoolLifetime, GibletLifetime, MaxBodyWoundDecals, MaxBloodSplatterDecals, MaxBloodPoolDecals, BloodSplatSize, BloodPoolSize, MaxBloodEffects, MaxGoreEffects, PersistentSplatTraceLength and MaxPersistentSplatsPerFrame are all 0, and AllowBloodSplatterDecals=False. MaxDeadBodies=4 keeps few corpses to save RAM and VRAM.
KFSystemSettings.ini (under [SystemSettings])
| Setting | Value | Effect |
|---|---|---|
| StaticDecals, DynamicDecals, UnbatchedDecals | False | Match the KFEngine.ini decal values |
| AllowRadialBlur, MotionBlur, MotionBlurPause, DropParticleDistortion | False | Disable blur effects |
| MotionBlurSkinning, MotionBlurStaticScale, MotionBlurDynamicScale | 0 | Disable blur effects |
| AllowImageReflections, AllowImageReflectionShadowing | False | No reflections |
| FogVolumes, DistanceFog | False | Removes CPU/GPU-heavy fog effects without much visual loss |
| bAllowFracturedDamage | False | No breakable glass |
| bForceCPUAccessToGPUSkinVerts | True | Moves some load from a weak GPU to the CPU |
| DynamicShadows | False | Big speed-up on weak GPUs, characters may look darker |
| DecalCullDistanceScale | 0.1 | Decals vanish sooner (minimum value) |
| CompositeDynamicLights | False | No visible change, lower CPU/GPU load |
| SpeedTreeLeaves, SpeedTreeFronds | False | Simpler foliage |
| FloatingPointRenderTargets | False | Removes some post effects |
| LightEnvironmentShadows | False | Disconnects shadows from the environment |
| DynamicLights | False | Removes most lights, shadows, decals and blood; raise brightness if you use it |
| bAllowSeparateTranslucency | False | No translucent lighting on foliage |
| bAllowHighQualityMaterials | False | Lower material quality, little visual loss on low settings |
Disabling DynamicLights simplifies the picture heavily, so treat it as a last resort.
FAQ
- Where are the KF2 config files?
- In Documents/My Games/KillingFloor2/KFGame/Config on Windows.
- What FPS limit should I use?
- Monitor Hz + 1 on weak PCs, or Hz x 2 + 1 on stronger ones, set in MaxSmoothedFrameRate.