Проблемы и оптимизация

Повышение FPS в Killing Floor: CacheSizeMegs, прекэш и Superfetch

Killing Floor 1 работает на Unreal Engine 2.5 и по современным меркам очень легкий, но старые настройки движка все равно могут вызывать фризы и долгую загрузку. Здесь собраны три твика, которые давно ходят в сообществе KF и в Steam: размер кэша текстур под объем RAM, отключение прекэша и отключение Superfetch в Windows. Больше правок INI - на странице Оптимизация Killing Floor (INI, кэш, быстрая загрузка) и в полном гайде по оптимизации.

Коротко об игре

Killing Floor - кооперативный шутер от первого лица с двумя режимами:

  • Режим Killing Floor - выжить против волн зомбиподобных спесименов (ZED), каждая волна сложнее предыдущей, а в конце бой с боссом Patriarch.
  • Objective Mode - добавляет к бою задания. Подробнее в прохождении Objective Mode.

Системные требования

МинимальныеРекомендуемые
Частота CPU1,2 ГГц2,4 ГГц
RAM1 ГБ2 ГБ
ОСWindows XP / VistaWindows XP / Vista
Видеокарта64 МБ, DirectX 9128 МБ, DirectX 9 с Pixel Shader 2.0
Звуковая картаДаДа
Место на диске2 ГБ2 ГБ

Это требования времен релиза. Любой современный ПК их превосходит, так что если производительность плохая, причина обычно в настройках, драйверах или службах Windows, а не в железе.

Перед правкой: найдите и сохраните KillingFloor.ini

Файл лежит в папке System игры:

Steam\steamapps\common\KillingFloor\System\KillingFloor.ini

В проводнике он отображается как файл конфигурации со значком шестеренки. Закройте игру, сделайте копию файла и откройте его в Блокноте. Если не знаете, где ваша библиотека Steam, смотрите где находится INI Killing Floor.

Твик 1: CacheSizeMegs под объем RAM

Найдите секцию [Engine.GameEngine] и задайте CacheSizeMegs по объему памяти:

Объем RAMЗначение
256 МБ и меньшеCacheSizeMegs=32
512 МБCacheSizeMegs=64
768 МБCacheSizeMegs=128
1 ГБ и большеCacheSizeMegs=256

Не ставьте больше 256. Большие значения могут приводить к вылетам на некоторых картах с ошибкой создания текстуры ("CreateTexture failed"), даже если свободной памяти много. 32-битный движок просто не может использовать больше.

Твик 2: отключить прекэш

Прекэш загружает ресурсы в память до старта карты. Если его отключить, загрузка короче и пиковое потребление памяти ниже. Измените значения, каждое в своей секции:

СекцияИзменение
[ALAudio.ALAudioSubsystem]UsePrecache=True на UsePrecache=False
[Engine.LevelInfo]bNeverPrecache=false на bNeverPrecache=true
[Engine.NullRenderDevice]UsePrecaching=True на UsePrecaching=False
[D3DDrv.D3DRenderDevice]UsePrecaching=True на UsePrecaching=False
[D3D9Drv.D3D9RenderDevice]UsePrecaching=True на UsePrecaching=False
[OpenGLDrv.OpenGLRenderDevice]UsePrecaching=True на UsePrecaching=False
[PixoDrv.PixoRenderDevice]UsePrecaching=True на UsePrecaching=False

На игру влияет только секция того рендерера, который вы используете (обычно Direct3D 9), но изменить все не повредит. Компромисс: ресурсы, которые не были загружены заранее, подгружаются при первом появлении, поэтому на слабом ПК возможен короткий фриз, когда впервые спавнится новый тип ZED. Если это мешает сильнее долгой загрузки, верните настройки.

Твик 3: отключить Superfetch (SysMain) при фризах

Superfetch - служба Windows, которая заранее загружает часто используемые программы, чтобы они быстрее запускались. На некоторых системах ее связывали с фризами в Killing Floor. В Windows 7 и Vista она называется Superfetch, в Windows 10 и 11 - SysMain.

  1. Нажмите Пуск, введите services и откройте Службы.
  2. Найдите Superfetch (или SysMain) и дважды щелкните по ней.
  3. В поле Тип запуска выберите Отключена, затем нажмите Остановить.
  4. Нажмите Применить и ОК, закройте окно.

Проверьте игру. Если ничего не изменилось, верните тип запуска Автоматически: на HDD служба ускоряет запуск программ.

Если FPS все еще низкий

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

Какое значение CacheSizeMegs ставить в Killing Floor?
По объему оперативной памяти: 32 для 256 МБ и меньше, 64 для 512 МБ, 128 для 768 МБ и 256 для 1 ГБ и больше. Выше 256 ставить не рекомендуется.
Почему нельзя ставить CacheSizeMegs больше 256?
Большие значения могут вызывать вылеты на некоторых картах с ошибкой вида 'CreateTexture failed', даже если памяти в системе много.
Повышает ли FPS отключение прекэша?
В основном сокращает загрузку и начальный расход памяти. Минус в том, что часть ресурсов подгружается при первом появлении, и на слабых ПК возможен короткий фриз.
Есть ли Superfetch в Windows 10 и 11?
Да, служба теперь называется SysMain. Если игра фризит, ее можно остановить и выставить тип запуска Отключена в services.msc, затем проверить снова.