на главную
об игре
7 Days To Die 13.12.2013

7 Days To Die "Повышение FPS"

В чём проблема

Главная проблема с точки зрения оптимизации в 7 Days To Die заключается в многопоточности. В сложных сценах, таких как большие города, небоскрёбы или большое количество зомби сильно падает производительность, при том что видеокарта не загружена на 100% — тут даже 4090 не поможет, так как упор идёт в процессор, который движок не может нормально загрузить. Именно поэтому снижение настроек графики может не давать никакого эффекта — видеокарта и так "отдыхает". Разработчики знают про эту проблему, но пока не торопятся решать.

Как они сами писали, в новых версиях Unity (сейчас разработчики обновляют движок в каждой крупной альфе) инструменты для реализации многопоточной обработки улучшаются, но всё ещё довольно кривые и требуют "переписывания большого количества кода, на что нужно много времени". Так что пока нам остаётся только ждать — уже несколько месяцев все силы программистов брошены на написание ИИ для бандитов, которые будут в А22. Но мы можем попытаться самим немного улучшить производительность в игре.

Как эту проблему решить

В Unity есть функция под названием graphics jobs. Она немного улучшает многопоточную обработку. Нет, игра не станет использовать всю мощь многоядерных процессоров, но всё же ситуация с использованием процессора и, соответственно, загрузкой видеокарты и FPS должна улучшиться. Эта функция должна работать с любыми играми на Unity, например в Sons Of The Forest она включена по умолчанию.

Почему её нет в 7 Days To Die? Разработчики включали graphics jobs в А20.1 Experimental, но тогда у многих игроков начались вылеты. Разработчики не смогли найти причину вылетов и убрали эту функцию.

Включение graphics jobs

Перед этим обязательно сделайте резервную копию сохранений игры!!! Они лежат в "C:\Users\Имя пользователя\AppData\Roaming\7DaysToDie".

Также необходимо отключить Easy Anti-Cheat. Для этого в Steam в библиотеке выберите игру, нажмите "Играть", и в появившемся окне выберите "Show game launcher". В нём вам надо убрать галочку "Use Easy Anti-Cheat" и запустить игру нажатием кнопки "Run & Save as default". Ещё лаунчер можно запустить с помощью 7dLauncher.exe в корневой папке игры.

  • Вы можете прописать эту функцию вручную, это очень просто и быстро — инструкция под спойлером.
Спойлер

В корневой папке игры перейдите в папку "7DaysToDie_Data" и там с помощью блокнота или любого текстового редактора откройте boot.config. В первые две строчки скопируйте это:

gfx-enable-gfx-jobs=1

gfx-enable-native-gfx-jobs=1

Проверьте, чтобы нигде не было пробелов (Playground не позволяет писать на разных строках без пробелов между ними).

У вас должно получиться следующее содержание файла (без пробелов!):

gfx-enable-gfx-jobs=1

gfx-enable-native-gfx-jobs=1

wait-for-native-debugger=0

hdr-display-enabled=0

gc-max-time-slice=3

Затем сохраните изменения. Чтобы отключить эту функцию, просто удалите добавленные строки или выполните проверку файлов.

  • Или можете скачать прикреплённый к посту файл. Его необходимо закинуть с заменой в "7 Days To Die\7DaysToDie_Data".

Эффект от этих изменений зависит от железа и ситуации в игре. У кого-то в определённых сценах прирост может быть довольно большим, у кого-то он может быть на уровне погрешности.

После обновления игры или проверки файлов внесённые изменения сбросятся!

Ещё советы по оптимизации

  • Отключите динамические сетки. Эта настройка позволяет игре обновлять импосторы — примитивные модели зданий, который мы видим издалека. Включение этой функции будет обновлять импосторы локаций, чтобы вы издалека могли видеть все изменения или разрушения локаций на расстоянии, как и свои постройки. Но это может стать дорогим удовольствием для вашего компьютера. Делается это из главного меню. Просто поставьте во вкладке настроек "Динамические сетки" всё на "нет" и снизьте до минимума параметры снизу. Но дальность этих сеток регулирует дальность отрисовки локаций, даже если настройка отключена. По умолчанию это 1000 блоков, что достаточно. 500 будет заметно с высоты, а также вы сможете в огромных городах видеть, как вдалеке появляются и исчезают высотки, но в целом это несильно заметно. 100 блоков — если всё совсем плохо. Настройка качества делает импосторы более детализированными и тоже работает даже при отключении динамических сеток. Немного подробнее об этом можете узнать в этом видео (проблема с окнами не актуальна для А21).
  • Оптимизируйте настройки графики. Игра позволяет неплохо снизить некоторые настройки при минимальной потере качества. Об этом можете узнать в этом видео.
  • Будьте осторожнее с SSR. В А21 разработчики реализовали отражения в пространстве экрана, но это тяжёлая настройка. Лично у меня даже в чистом поле, где нечего отражать этой технологией, FPS при включении её на ультра падает с 89 до 58, а вот на низких 83 FPS, при том что вы вряд ли сможете заметить снижение качества SSR. За это отвечает настройка "Отражения в отображаемом пространстве".

Автор файла: Yakov

Комментарии: 10
Ваш комментарий

В общем я немного покопался в техчасти и выяснил, что Unity graphics jobs, которые и включает этот мод, улучшают многопоточный рендеринг, то есть используется больше потоков процессора, что особенно важно для 7 DTD, в которой часто видеокарта недогружена (особенно в орду или в больших городах, зданиях). Подобные решения в теории совместимы почти с любой игрой на Unity. То есть можно в файл boot.config из другой игры внести эти две строчки (ниже), и graphics jobs должны заработать. Хотя лучше поискать подобные моды конкретно под нужную игру. Вот изменения, которые вносит мод в заменяемый файл:

gfx-enable-gfx-jobs=1

gfx-enable-native-gfx-jobs=1

Это просто 2 новые строчки, которые собственно и активируют настройку. Но вылеты из-за этого бывают не только в 7 DTD. Похоже, что это проблема именно движка. Ниже содержание файла boot.config оригинального и модифицированного (под 1 и 2 спойлерами соответственно).

Спойлер

wait-for-native-debugger=0

hdr-display-enabled=0

gc-max-time-slice=3

Спойлер

gfx-enable-gfx-jobs=1

gfx-enable-native-gfx-jobs=1

wait-for-native-debugger=0

hdr-display-enabled=0

gc-max-time-slice=3

Сам многопоточный рендеринг в 7 Days To Die по умолчанию реализован не очень, в частности из-за трудностей его реализации в Unity. Так что если поставить орду на 64 зомби, то при любых настройках графики фпс будет такой себе, а видеокарта будет прохлаждаться, потому что процессор просто не может быстро просчитать пути для зомби и так далее. Чтобы хоть как-то это компенсировать, в А20 во время орды у зомби куда реже стали обновляться пути, так что можно резко сменить местоположение, но зомби несколько секунд будут идти туда, где игрока уже нет. И из-за этого после А17 зомби не строят пути в обход друг друга, от чего частенько идут на игрока стройными колоннами. А если позади медленного зомби окажется быстрый, то он его не обгонит. Но именно из-за этого в А17 каждая орда превращалась в слайд-шоу.

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

5

Попробовал добавить gfx строчки на версии alpha 21.2, очень сильно помогло, была проблема что с обновлением на .2 версию производительно катастрофически упала, 30 кадров было по всюду. Как только вписал не ниже 70 кадров в городе, а за городом и вовсе 100. И это на всех высоких вперемешку с ультра настройками со включенной динамической сеткой.

1

это интересно, ща попробую отпишу

0

ммм вроде чет поменялось а вроде нет, позже добавлю если не забуду

0

У всех по-разному. На каких-то системах может вообще отрицательный рост быть, но это вряд ли) Ещё в комментах писали, что мод с видяхами от AMD работает не так хорошо. У меня 1650S, так что проверить не могу.

0

1660 ti 16gb оперативки игра на ссд самсунг 980 pro проц ryzen 7pro 1700x

-1

решил попробывать я на ноуте Asus TUF F15 связка Intel core i5-11300H
3060 6gb
фпс в нормальной обстановке колебриться 60-90 в пвп битвах рейдах просадки до 35
после установки мода фпс особо не поднялся а точне каких либо изменений не было замеченно
видеокарта по прежнему не нагружается больше 55%

0

Попробуйте сравнить в орду с большим количеством зомби (64), или при быстрой поездке по центру огромного города (ну или банально в каком-нибудь гигантском здании). Именно в этих ситуациях должно помогать, как я написал в своём большом комменте.

0

Не заметил каких-то изменений, но и проблем вроде нет. Есть не просит, топлива не нужно на "пропитание", пусть стоит. Тем более, если комментатор ниже уверяет, что может помочь.

0

Переписал и дополнил статью. Также можете посмотреть ещё видео про то, как в игре строится кадр, как её запустить на калькуляторе и что ещё по оптимизации в ней уже есть

Спойлер
0