Binds & Console

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=True and MaxSmoothedFrameRate set 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=False
  • bSubtitlesEnabled=False if you do not use subtitles
  • bOnScreenKismetWarnings=False, bEnableOnScreenDebugMessages=False

[Engine.StartupPackages]

  • bFullyCompressStartupPackages=True allows asynchronous unpacking while loading.
  • Delete the line Package=EngineDebugMaterials, which only loads debugging materials.

[IpDrv.TcpNetDriver]

  • AllowPeerConnections=True, AllowPeerVoice=True
  • MaxClientRate=104857600, MaxInternetClientRate=104857600 for the fastest exchange with the server.

[TextureStreaming]

  • UseDynamicStreaming=False if 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=True skips intro videos.
  • [LogFiles] PurgeLogsDays=0, LogTimes=False reduce 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])

SettingValueEffect
StaticDecals, DynamicDecals, UnbatchedDecalsFalseMatch the KFEngine.ini decal values
AllowRadialBlur, MotionBlur, MotionBlurPause, DropParticleDistortionFalseDisable blur effects
MotionBlurSkinning, MotionBlurStaticScale, MotionBlurDynamicScale0Disable blur effects
AllowImageReflections, AllowImageReflectionShadowingFalseNo reflections
FogVolumes, DistanceFogFalseRemoves CPU/GPU-heavy fog effects without much visual loss
bAllowFracturedDamageFalseNo breakable glass
bForceCPUAccessToGPUSkinVertsTrueMoves some load from a weak GPU to the CPU
DynamicShadowsFalseBig speed-up on weak GPUs, characters may look darker
DecalCullDistanceScale0.1Decals vanish sooner (minimum value)
CompositeDynamicLightsFalseNo visible change, lower CPU/GPU load
SpeedTreeLeaves, SpeedTreeFrondsFalseSimpler foliage
FloatingPointRenderTargetsFalseRemoves some post effects
LightEnvironmentShadowsFalseDisconnects shadows from the environment
DynamicLightsFalseRemoves most lights, shadows, decals and blood; raise brightness if you use it
bAllowSeparateTranslucencyFalseNo translucent lighting on foliage
bAllowHighQualityMaterialsFalseLower 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.