PCPC

SCSKiller заранее компилирует шейдеры и сокращает фризы в компьютерных играх

Энтузиаст BlueHeisenberg выпустил бесплатную утилиту, которая готовит шейдеры и графические пайплайны до начала их использования в игре. Тесты показали снижение числа задержек компиляции в нескольких проектах.

SCSKiller заранее компилирует шейдеры и сокращает фризы в компьютерных играх
В этой истории

Как работает утилита

SCSKiller (Shader Compilation Stutter Killer) просматривает файлы игры и выявляет шейдеры и графические пайплайны, которые могут понадобиться во время прохождения. Затем программа заранее их компилирует и сохраняет результат в кэш видеодрайвера: игре не нужно прерывать отрисовку, чтобы обработать новый эффект прямо во время игры.

Утилита работает с видеокартами NVIDIA и AMD в играх на DirectX 12, а с DirectX 11 — только на видеокартах NVIDIA. Она может автоматически находить игры из Steam, Epic Games Store, EA App, GOG, Ubisoft Connect, Xbox PC и Battle.net. Если нужные пайплайны нельзя вычислить по файлам игры, их можно записать в специальном режиме во время запуска.

Результаты тестирования

В испытаниях разработчика на RTX 5090 в Final Fantasy VII Rebirth при чистом кэше насчитали 19 задержек компиляции продолжительностью от 20 мс. После обработки игры SCSKiller таких случаев не осталось. В Hogwarts Legacy число подобных фризов упало с 1014 до 87, а в Star Wars Jedi: Survivor — с 9038 до 11.

Журналисты также проверили программу на Final Fantasy VII Rebirth. Встроенная в игру компиляция шейдеров занимает сравнительно мало времени и, по всей видимости, не готовит заранее все необходимые PSO. SCSKiller добавил в кэш NVIDIA около 3 ГБ бинарных файлов.

После обработки почти пропали рывки при первом появлении разных эффектов и переходе в новые области мира. Разница была особенно выражена при пустом кэше, когда драйвер ещё не подготовил нужные шейдеры.

Поддержка и ограничения

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

Утилита распространяется бесплатно с открытым исходным кодом. Версия 1.2.0 доступна в виде установщика и портативной сборки; проект размещён на GitHub.

К ленте новостей