KF2: Hor+ FOV и отключение стриминга текстур (INI)
Гайд мая 2015 года, объединяющий две настройки для игр на Unreal Engine 3: переключение масштабирования поля зрения с Vert- на Hor+ и отключение стриминга текстур для устранения фризов. Всё делается правкой конфигов. Настройку стриминга автор сначала проверил на других играх на UDK.
Hor+ против Vert-
- Hor+ держит вертикальный FOV фиксированным и расширяет горизонтальный при увеличении соотношения сторон. Это обычное масштабирование в современных играх.
- Vert- уменьшает вертикальный FOV при расширении экрана, из-за чего на широких мониторах обзор получается меньше. Особенно плохо на 21:9 и многомониторных конфигурациях.
Если вам нужен более широкий FOV или у вас не 16:9, примените исправление.
Папка конфигов KF2: Documents\My Games\KillingFloor2\KFGame\Config. В файле Engine ini измените:
[Engine.LocalPlayer]
AspectRatioAxisConstraint=AspectRatio_MaintainYFOV
По умолчанию стоит AspectRatio_MaintainXFOV. Значение MaintainYFOV включает Hor+. Связанные заметки - в увеличении FOV через MaintainYFOV.
Отключение системы стриминга
Эти настройки принудительно загружают текстуры в память и снимают лимит пула. Измените в Engine ini:
bUseBackgroundLevelStreaming=False ; может вызвать проблемы при малом объёме VRAM
MipFadeInSpeed0=0
MipFadeOutSpeed0=0
MipFadeInSpeed1=0
MipFadeOutSpeed1=0 ; убирает плавное появление мипмапов
PoolSize=999999999 ; знаменитая настройка
AllowScreenDoorFade=False ; объекты не исчезают позади вас
bAllowSwitchingStreamingSystem=True
UseTextureFileCache=FALSE
Если у игры есть отдельный ini настроек (файл *Settings.ini), задайте и там:
OnlyStreamInTextures=True
По словам автора, PoolSize=999999999 заставляет загрузить весь уровень в кэш или память, даже если фоновый стриминг оставлен для карт с малым объёмом VRAM, и обычно улучшает производительность.
После правки
Сохраните, затем щёлкните правой кнопкой по каждому изменённому ini, откройте Свойства и поставьте Только чтение. Это обязательно, особенно если вы отключили фоновый стриминг уровней.
Что это даёт на самом деле
Все текстуры принудительно загружаются в память с самого начала. Это сильно уменьшает задержки и фризы, но средний FPS остаётся примерно тем же. Автор показал два графика бенчмарка из другой игры до и после: средний FPS не изменился, но линия времени кадра стала намного ровнее.
Предостережения
- На машинах с малым объёмом видеопамяти отключение фонового стриминга может вызывать проблемы.
- Обновления игры или лаунчер могут сбросить конфиги, поэтому флаг «только чтение» важен. Сохраните резервную копию ini.
- Больше о безопасных настройках - в твиках FPS: стриминг текстур и динамические огни в ini.
Вопросы и ответы
- Поднимет ли это FPS?
- Автор прямо говорит: средний FPS не изменится. Исчезают задержки и подтормаживания, потому что текстуры заранее загружаются в память, и график времени кадра становится ровнее даже при том же числе FPS.
- Зачем делать ini только для чтения?
- Чтобы игра не перезаписала ваши правки. Автор считает это обязательным, особенно если вы отключили фоновый стриминг уровней.
- Кому нужно изменение Hor+?
- Тем, у кого экран не 16:9, например 21:9 или тройной моноблок, и всем, кто хочет более широкий угол обзора. Тот же трюк работает в других играх на Unreal Engine 3.