KF2 Hor+ FOV Fix and Texture Streaming Removal (INI)
A May 2015 guide that combines two tweaks for Unreal Engine 3 games: switching the field-of-view scaling from Vert- to Hor+, and disabling texture streaming to remove frame lag. Both are done by editing config files. The author tested the streaming tweak on other UDK titles first.
Hor+ versus Vert-
- Hor+ keeps the vertical FOV fixed and expands the horizontal FOV as the aspect ratio gets wider. This is the usual scaling in modern games.
- Vert- reduces the vertical FOV as the aspect ratio gets wider, so widescreen ends up with a smaller view. It is especially bad on 21:9 and multi-monitor setups.
If you want a wider FOV or use anything other than 16:9, apply the fix.
The config folder for KF2 is Documents\My Games\KillingFloor2\KFGame\Config. In the Engine ini file change:
[Engine.LocalPlayer]
AspectRatioAxisConstraint=AspectRatio_MaintainYFOV
The default is AspectRatio_MaintainXFOV. Setting it to MaintainYFOV switches to Hor+. See increase FOV with MaintainYFOV for related notes.
Removing the streaming system
These tweaks force textures into memory and uncap the pool. Edit these keys in the Engine ini:
bUseBackgroundLevelStreaming=False ; may cause problems on machines with little VRAM
MipFadeInSpeed0=0
MipFadeOutSpeed0=0
MipFadeInSpeed1=0
MipFadeOutSpeed1=0 ; stops mip fade-in
PoolSize=999999999 ; the famous tweak
AllowScreenDoorFade=False ; stops things vanishing behind you
bAllowSwitchingStreamingSystem=True
UseTextureFileCache=FALSE
If the game has a separate settings ini (a *Settings.ini file), set this there too:
OnlyStreamInTextures=True
According to the author, PoolSize=999999999 makes the whole level load into cache or memory even if background streaming stays on for cards without enough VRAM, and it usually improves performance.
After editing
Save, then right-click each edited ini, open Properties and tick Read-only. This is essential, especially if you turned off background level streaming.
What it actually does
All textures are forced into memory from the start. That reduces latency and frame lag a lot, but the frames-per-second average stays about the same. The author showed two benchmark charts from another game before and after the change: the average FPS was unchanged but the frame-time line became much flatter.
Cautions
- Machines with low video memory can have problems with background streaming off.
- Game updates or the launcher can reset config files, which is why the read-only flag matters. Keep a backup of your ini.
- For a wider overview of safe settings see FPS tweaks: ini texture streaming and dynamic lights.
FAQ
- Will this raise my FPS?
- The author is explicit: it does nothing for average FPS. It removes frame lag and hitches by loading textures into memory up front, so frame times look flatter even when the FPS number is the same.
- Why set the ini files to read-only?
- So the game does not overwrite your edits. The author calls it essential, especially if you disabled background level streaming.
- Who needs the Hor+ change?
- Anyone on a non-16:9 display such as 21:9 or triple-wide, or anyone who wants a wider field of view. The same trick works on other Unreal Engine 3 games.