Бинды и консоль

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.