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

Оптимизация Killing Floor 2 на минимальных настройках (конфиги)

Это руководство посвящено исключительно производительности самой игры, а не настройке системы и драйверов. Оно предназначено для запуска Killing Floor 2 на минимальных параметрах графики; если вы играете на более высоких, будьте внимательны при отключении функций. Автор регулярно обновляет материал и просит делиться способами повышения производительности самой игры, но без настроек панелей NVIDIA и AMD и твиков реестра. Смотрите также оптимизацию для слабых ПК и FPS-твики для больших серверов.

Расположение конфигов

  • Windows: %USERPROFILE%\Documents\My Games\KillingFloor2\KFGame\Config
  • Linux: .../steamapps/compatdata/232090/pfx/drive_c/users/steamuser/My Documents/My Games/KillingFloor2/KFGame/Config

Первоначальная настройка

Если вы раньше настраивали игру, удалите все файлы из папки Config, чтобы убрать неактуальные и некорректные настройки. Затем запустите игру, настройте всё через графический интерфейс и сделайте резервную копию файлов (например, на рабочем столе). На слабых компьютерах, особенно со старыми видеокартами, отключите все графические параметры в настройках. Только потом переходите к детальной правке файлов.

KFEngine.ini

[Engine.Engine]

  • Включите ограничение FPS: bSmoothFrameRate=True и задайте MaxSmoothedFrameRate. Для слабых ПК достаточно формулы «Гц монитора + 1» (60+1=61), для мощных - «Гц x 2 + 1» (60x2+1=121). Если вы используете RTSS Rivatuner или другой софт для ограничения FPS, выставьте там такой же лимит.
  • Отключите статические и динамические декали: bStaticDecalsEnabled=False, bDynamicDecalsEnabled=False.
  • Отключите субтитры в движке, если не пользуетесь ими: bSubtitlesEnabled=False.
  • Отключите вывод предупреждений Kismet и отладочных сообщений: bOnScreenKismetWarnings=False, bEnableOnScreenDebugMessages=False.

[Engine.StartupPackages]

  • bFullyCompressStartupPackages=True: пакеты могут асинхронно распаковываться во время загрузки, что может её ускорить.
  • Удалите строку Package=EngineDebugMaterials (отладочные материалы: веса костей, сетка, нормали, тангенсы, UV и каркас).

[IpDrv.TcpNetDriver]

  • AllowPeerConnections=True и AllowPeerVoice=True разрешают прямые соединения клиентов.
  • MaxClientRate=104857600 и MaxInternetClientRate=104857600 поднимают скорость обмена с сервером до максимума.

[TextureStreaming]

  • UseDynamicStreaming=False: динамическая подгрузка карты по умолчанию включена, и на медленном HDD она вызывает артефакты и подтормаживания. Если у вас больше 8 ГБ ОЗУ и больше 3 ГБ видеопамяти, отключение позволит полностью загрузить матч при входе.
  • bEnableAsyncDefrag=True и bEnableAsyncReallocation=True: фоновая дефрагментация и реаллокация памяти, не блокирующие основную работу.

[FullScreenMovie] bForceNoMovies=True отключает вступительные ролики.

[LogFiles] PurgeLogsDays=0 и LogTimes=False отключают создание логов.

KFGame.ini

[KFGame.KFGoreManager]

Чтобы крови почти не было (играть спокойнее, нагрузка на видеокарту ниже), поставьте нули и False:

GoreFXLifetimeMultiplier=0
BodyWoundDecalLifetime=0
BloodSplatterLifetime=0
BloodPoolLifetime=0
GibletLifetime=0
MaxBodyWoundDecals=0
MaxBloodSplatterDecals=0
MaxBloodPoolDecals=0
BloodSplatSize=0
BloodPoolSize=0
MaxBloodEffects=0
MaxGoreEffects=0
AllowBloodSplatterDecals=False
PersistentSplatTraceLength=0
MaxPersistentSplatsPerFrame=0

Меньше трупов - меньше нагрузка на ОЗУ и видеопамять: MaxDeadBodies=4.

KFSystemSettings.ini, раздел [SystemSettings]

ПараметрЗначениеЭффект
StaticDecals, DynamicDecals, UnbatchedDecalsFalseОтключают декали (значения как в KFEngine.ini).
AllowRadialBlur, MotionBlur, MotionBlurPause, DropParticleDistortionFalseОтключают размытие.
MotionBlurSkinning, MotionBlurStaticScale, MotionBlurDynamicScale0Обнуляют масштабы размытия движения.
AllowImageReflections, AllowImageReflectionShadowingFalseОтключают отражения.
FogVolumes, DistanceFogFalseОптимизация тумана: визуально почти без потерь, меньше нагрузка на CPU и часть GPU.
bAllowFracturedDamageFalseОтключает бьющееся стекло.
bForceCPUAccessToGPUSkinVertsTrueПереносит часть нагрузки со слабой видеокарты на процессор.
DynamicShadowsFalseПерсонажи могут стать очень тёмными, но производительность на слабых GPU растёт.
DecalCullDistanceScale0.1Минимальное значение: декали исчезают быстрее.
CompositeDynamicLightsFalseВспомогательное улучшение динамического света; по словам автора, без него картинка не меняется, а нагрузка падает.
SpeedTreeLeaves, SpeedTreeFrondsFalseОптимизация листвы.
FloatingPointRenderTargetsFalseОтключение эффектов.
LightEnvironmentShadowsFalseОтключение теней от окружения.
DynamicLightsFalseИсчезает большая часть света, теней, декалей, крови и эффектов; только для очень слабых ПК, яркость на максимум, возможны артефакты.
bAllowSeparateTranslucencyFalseОтключает прозрачное освещение объектов (листва).
bAllowHighQualityMaterialsFalseОтключает высококачественные материалы; без высоких настроек видимой потери нет.

Вопросы и ответы

Где лежит папка конфигов KF2 в Windows и Linux?
Windows: %USERPROFILE%\Documents\My Games\KillingFloor2\KFGame\Config. Linux: .../steamapps/compatdata/232090/pfx/drive_c/users/steamuser/My Documents/My Games/KillingFloor2/KFGame/Config.
Какой лимит FPS ставить?
Для слабых ПК - герцовка монитора плюс 1 (например, 61). Для более мощных - герцовка x 2 + 1 (например, 121). Значение записывается в MaxSmoothedFrameRate.
Подходит ли руководство для высоких настроек графики?
Нет. Оно рассчитано на минимальную графику; при более высоких настройках осторожно отключайте функции, которые могут быть нужны.