KF2: больше FPS на любом ПК - правки конфигов для слабых компьютеров
Руководство для тех, кто хочет запустить Killing Floor 2 на очень слабом компьютере и готов пожертвовать картинкой ради кадров. Killing Floor 2 построена на Unreal Engine 3, поэтому почти все аспекты можно менять в ini-файлах. Значения записаны как «по умолчанию, затем новое». Современный подход для видеокарт с большим объёмом памяти: FPS на больших серверах и настройки без раздражителей.
Сначала резервная копия
Скопируйте (не переносите) всё из Documents\My Games\KillingFloor2\KFGame\Config в безопасное место. Меняйте настройки постепенно и запускайте игру каждые несколько минут, чтобы вовремя заметить вылеты. Правленые файлы ставьте «только чтение», иначе игра их сотрёт: в тестах откатывались только KFSystemSettings и KFEngine. KFGame и KFInput только для чтения не делайте, иначе скины, косметику и управление придётся применять каждый раз. Удаление любого конфига заставляет игру создать свежий.
Обычные советы
Выставите в игре все параметры на минимум или выключите (разрешение на ваше усмотрение: ниже разрешение - больше FPS, но изображение мутнее; гамма на скорость не влияет).
Настройки видео на минимальных значениях.
- Закройте программы, нагружающие процессор, например антивирус.
- Обновите драйверы видеокарты.
- Отключите оверлей Steam (по опыту автора, FPS растёт, а вылетов меньше в любой игре).
- В «Дополнительных параметрах системы Windows», «Быстродействие» выберите режим производительности, чтобы освободить ОЗУ.
Параметры быстродействия Windows.
- Дефрагментируйте диски (HDD) и перенесите файл подкачки на запасной диск.
- В диспетчере задач поставьте процессу KF2 высокий приоритет (ниже есть bat-файл).
- Очистите
%temp%.
Базовые правки
Команда stat fps в консоли показывает частоту кадров. Редактируйте в Блокноте или Notepad++, ищите через Ctrl+F.
KFSystemSettings.ini (меняйте любые):
StaticDecals=False,DynamicDecals=False(следы от пуль),UnbatchedDecals=FalseDropParticleDistortion=False(размытие взрывов),SpeedTreeLeaves=False,SpeedTreeFronds=FalseOnlyStreamInTextures=True(убрало подтормаживания на 8 ГБ ОЗУ)FogVolumes=False(сильно нагружает CPU),FloatingPointRenderTargets=False,AllowRadialBlur=FalseAllowImageReflections=False,AllowImageReflectionShadowing=False,bAllowHighQualityMaterials=FalseMaxDrawDistanceScale=0.8(если сильно снизить, FPS заметно растёт, но можно видеть врагов и патроны сквозь стены)ScreenPercentage=90(снижает разрешение без размытия интерфейса, очень эффективно)bAllowFracturedDamage=False(нет разбиваемого стекла),UseComputeSSR=False,ImageGrainScaler=0(без «только чтение» откатывается),AllowBooleanPreshadows=False,UseNewDOF=False,DistanceFog=FalseMotionBlurStaticScale=0,MotionBlurDynamicScale=0
KFEngine.ini:
ImageReflectionTextureSize=512,bStaticDecalsEnabled=False,bDynamicDecalsEnabled=FalsebUseTextureStreaming=False(кому-то помогает, проверьте)MaxFluidNumVerts=1,MaxParticleVertexMemory=1(отключает частицы пуль, огня и взрывов; можно пропустить)MipFadeInSpeed0=0.0,MipFadeOutSpeed0=0.0,MipFadeInSpeed1=0.0,MipFadeOutSpeed1=0.0bSmoothFrameRate=FALSE,MinSmoothedFrameRate=30,MaxSmoothedFrameRate=60(частота монитора),MinDesiredFrameRate=60RequestedDirectXVersion=10и параметр запуска Steam-dx10(DirectX 10 считается менее склонным к вылетам)BoostPlayerTextures=0.0,ParticlePercentage=80(0 отключает частицы и сильно ускоряет)
KFGame.ini: DecalLifeSpan=0.0, MaxImpactEffectDecals=0, ShellEjectLifetime=0.5.
Размеры текстур
Строки KFSystemSettings.ini вида TEXTUREGROUP_Creature(MinLODSize=1,MaxLODSize=4096,LODBias=3,MinMagFilter=Linear.. задают размер текстур; по умолчанию они грузятся до 4K. Снизьте MaxLODSize до 2048 или 1024 (половина и четверть разрешения) и смените MinMagFilter=Linear на Point. Значение 1 даёт максимальный прирост, но делает текстуры бесцветными и угловатыми. LODBias идёт от -1 (максимум детализации) до 10 (минимум); автор не уверен, как именно он работает, так что экспериментируйте.
Не опускайте UI, ColorLookupTable и Bokeh ниже 256 (они влияют на меню и HUD; при 1 становятся серыми квадратами, но дают прирост, если совсем туго). TerrainHeightMap и TerrainWeightMap ниже 256 не опускайте из-за багов текстур земли и растительности. Минимум вообще - 16, поскольку часть параметров при значении 1 вызывает баг текстур на Black Forest и Zed Landing.
Продвинутые правки для слабых ПК
Они жертвуют картинкой ради большого прироста. Сохраните файл и сделайте его «только чтение».
Тени (KFSystemSettings.ini): DynamicShadows=False, MinShadowResolution=1, MinPreShadowResolution=0, MaxShadowResolution=1, MobileShadowTextureResolution=1, MaxWholeSceneDominantShadowResolution=1, ShadowFadeResolution=0, PreShadowFadeResolution=0, ShadowTexelsPerPixel=0, bAllowHardwareShadowFiltering=False, GlobalShadowDistanceScale=0.0, AllowBooleanPreshadows=False, MaxPrimBoundsForPerObjectShadows=0.0.
Свет (KFSystemSettings.ini): DynamicLights=False, LightEnvironmentShadows=False, CompositeDynamicLights=False, SHSecondaryLighting=False, DirectionalLightmaps=False, MaxOverlappingLights=0, AllowLightOcclusionQueries=False, VolumetricLightingMode=0. В KFEngine.ini: bShouldGenerateSimpleLightmaps=FALSE и bUseNormalMapsForSimpleLightMaps=FALSE.
Кровь: в KFSystemSettings.ini AllowPersistentSplats=False, AllowSecondaryBloodEffects=False. В KFGame.ini поставьте 0 или false: MaxExplosionDecals, BloodPoolDelay, GoreFXLifetimeMultiplier, BodyWoundDecalLifetime, BloodSplatterLifetime, BloodPoolLifetime, GibletLifetime, MaxBodyWoundDecals, MaxBloodSplatterDecals, MaxBloodPoolDecals, BloodSplatSize, BloodPoolSize, MaxDeadBodies, MaxBloodEffects, MaxGoreEffects, AllowBloodSplatterDecals, PersistentSplatTraceLength, MaxPersistentSplatsPerFrame, GoreLevel.
Частицы (пули, взрывы, огонь). KFEngine.ini: MaxFluidNumVerts=1, MaxParticleResize=532, MaxParticleResizeWarn=0, MaxParticleVertexMemory=64, ParticlePercentage=0. KFGame.ini: MaxFluidNumVerts=64, MaxParticleResize=532, MaxParticleVertexMemory=64, ShellEjectLifetime=0.0.
Запуск через bat-файл с высоким приоритетом
Создайте KF2.bat (сохраните как «Все файлы») с содержимым:
start steam://rungameid/232090
timeout 45
wmic process where name="KFGame.exe" CALL setpriority "high priority"
wmic process where name="Steam.exe" CALL setpriority "low"
Запуск через этот файл стартует игру и выставляет ей высокий приоритет. В отчаянной ситуации добавьте на новой строке taskkill /F /IM explorer.exe: это отключит панель задач и кнопки громкости; для возврата нажмите Ctrl+Alt+Delete, откройте диспетчер задач, «Запустить новую задачу» и введите explorer.
Готовый low-конфиг и autoexec
Готовый низкий конфиг автора (не обновлялся с 2018 года, «не рекомендую») снижает всё до минимума: низкие текстуры, удалённые частицы, малая дальность прорисовки, пониженный screen percentage и изменённый FOV. Файлы кладутся в папку Config, а KFEngine.ini и KFSystemSettings.ini нужно сделать «только чтение».
Autoexec убирает туман, снижает текстуры и свечение: создайте текстовый файл exec в Steam\steamapps\common\killingfloor2\Binaries со строками texturepoolsize 1, fogdensity 0, postprocessAAtype 0, RawInputUpdateTest true и BloomSize 0, затем добавьте -exec.txt в параметры запуска.
Прочие безопасные уменьшения
В KFSystemSettings.ini: SkeletalMeshLODBias=1, ParticleLODBias=1, MaxDrawDistanceScale вплоть до 0.20 «должен закончить ваши проблемы с FPS», а ShadowFilterRadius и дистанции теней всей сцены трогайте, только если тени отключены. Автор также перечисляет в KFEngine.ini значения PhysX Apex, проверки релевантности и параметры процедурных зданий и ландшафта, которые можно уменьшать, но предупреждает, что не может проверить NVIDIA-параметры.
Консольные команды для FPS
Введите enablecheats в консоли (только соло), затем: showpostprocess убирает постобработку, showlevelcoloration - окраску уровня, showfog - туман (особенно заметно на Farmhouse), clearcorpses - убирает трупы, clearsplatters - следы крови. Чтобы трупы убирались при каждой перезарядке, введите setbind R clearcorpses и верните клавишу перезарядки в игре на R.
Вопросы и ответы
- Почему мои правки конфигов KF2 сбрасываются?
- Игра перезаписывает KFSystemSettings.ini и KFEngine.ini при запуске, если не включить для них «только чтение». KFGame.ini и KFInput.ini лучше оставить редактируемыми.
- Как посмотреть частоту кадров в KF2?
- Откройте консоль и введите stat fps.
- Как отменить все изменения?
- Удалите изменённые конфиги, игра создаст новые при запуске. Перед началом сделайте копию.