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

В этой статье вы узнаете о некоторых способах повысить производительность в 7 Days To Die.

Проблема

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

В новых версиях Unity инструменты для реализации многопоточной обработки улучшаются, и разработчики обновляют движок в каждом крупном обновлении, но тем не менее они всё ещё довольно кривые и требуют много времени и сил, чтобы заставить их работать нормально. Хотя без улучшений не обходится — разработчики улучшают оптимизацию в каждой версии. Над многопоточностью они также работали. Но этого явно недостаточно. Однако мы и сами можем улучшить производительность в игре.

Решение?

В Unity есть функция под названием Graphics Jobs. Она несколько улучшает многопоточную обработку. Нет, игра не станет использовать всю мощность многоядерных процессоров и «летать», но всё же ситуация с использованием процессора улучшится. А это приведёт и к росту загрузки видеокарты, что поможет повысить FPS, когда видеокарта может больше, но процессор и движок ей не позволяют этого, что для более-менее мощных видеокарт обычное и даже постоянное дело в этой игре. Даже видеокарты слабее RTX 3060 (которой для этой игры вполне достаточно) периодически простаивают в городах и при большом количестве зомби, так как процессор перестаёт справляться. Эта функция должна работать с любыми играми на Unity и, например, в Sons Of The Forest она включена по умолчанию.

В 7 Days To Die Graphics Jobs тоже есть. В версии 1.0 (b316) разработчики наконец-то включили эту функцию по умолчанию для Windows и добавили её в лаунчер игры, так как теперь она работает стабильно. Раннее разработчики включали Graphics Jobs в экспериментальной версии А20.1(b5), но тогда у некоторых игроков начались вылеты. Разработчики тогда не смогли найти причину проблемы и, соответственно, решить её.

Если же вы пользуетесь другой операционной системой или более старой версией игры, то Graphics Jobs можно включить вручную.

Включение Graphics Jobs

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

Для версии 1.0 (b316) и выше (на Windows включено по умолчанию): в лаунчере игры поставьте галочку ''Enable Graphics Jobs'' и нажмите "Run & Save as default".

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

Затем в корневой папке игры (обычно это C:\Program Files(x86)\Steam\steamapps\common\7 Days To Die) перейдите в папку "7DaysToDie_Data" и в ней с помощью блокнота или любого другого текстового редактора откройте файл boot.config. В первые две строки скопируйте это:

Спойлер

gfx-enable-gfx-jobs=1

gfx-enable-native-gfx-jobs=1

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

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

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

build-guid=a34e775690394da68033ed5487d50446

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

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

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

Эффект от этих изменений зависит от железа и ситуации в игре. У кого-то в определённых сценариях прирост может быть довольно большим, а у кого-то он может быть на уровне погрешности (особенно если видеокарта и процессор очень слабые и не испытывают проблем с недогрузкой). Однако для видеокарт и процессоров даже уровня ниже среднего (например если у вас GTX 1060/RX 580 и Ryzen 3/Core i3 с 4 ядрами или схожая по производительности сборка) определённо стоит попробовать данный метод.

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

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

  • Отключите динамические сетки. Эта настройка позволяет игре обновлять импосторы — примитивные модели зданий, который мы видим издалека. Включение этой функции будет обновлять импосторы локаций, чтобы вы издалека могли видеть все изменения или разрушения локаций на расстоянии, как и свои постройки. Но это может стать дорогим удовольствием для вашего компьютера. Делается это из главного меню. Просто поставьте во вкладке настроек "Динамические сетки" всё на "нет" и снизьте до минимума параметры снизу. Но дальность этих сеток регулирует дальность отрисовки локаций, даже если настройка отключена. По умолчанию это 1000 блоков, что достаточно. 500 будет заметно с высоты, а также вы сможете в огромных городах видеть, как вдалеке появляются и исчезают высотки, но в целом это не очень заметно. 100 блоков — если всё совсем плохо. Настройка качества делает импосторы более детализированными и тоже работает даже при отключении динамических сеток. Немного подробнее об этом можно узнать в этом видео. Также, если вы играете в Альфу 20, то мод, про который рассказывается в видео, сильно поможет вам в городах. На других версиях эта проблема не актуальна, и этот мод не нужен.
  • Оптимизируйте настройки графики. Некоторые настройки вполне можно снизить, не сильно потеряв в качестве картинки. При этом на производительность некоторые влияют довольно сильно. Об этом можете узнать в этом видео. Также есть видео о том, как игра строит каждый кадр, это тоже может быть полезно для понимания.
  • В Альфе 21 внимательно отнеситесь к SSR. Эта настройка в данной версии довольно сильно влияет на производительность. Так что лучше ограничиться низким значением для неё или вовсе выключить. За это отвечает параметр «отражения в отображаемом пространстве». В версии 1.0 настройка уже намного меньше влияет на производительность, особенно при низком или среднем значении. Да и ультра вполне можно себе позволить.
  • Попробуйте мод Torch. Данный мод оптимизирует источники освещения и скрывает их из прорисовки, когда они не видны. Это может сильно повысить в производительность там, где много источников освещения. Так что данный мод будет совсем не лишним.

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

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

В общем я немного покопался в техчасти и выяснил, что 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 каждая орда превращалась в слайд-шоу.

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

7

Помогло повысить fps в 2 раза. И графику я выкрутил до средних. Теперь в fhd 60-70 fps. Вылетов за час игры не наблюдал. Система: ryzen3 3200g, 16gb ram dd4 3200mHz, gtx 970 с слегка заниженными частотами.

2

А в цифрах сколько получилось фпс?

0

На форуме один из игроков писал, что смог повысить производительность с сотней зомби с 45-50 кадров до 60-65 путём использования Graphics Jobs. У него i7 13700K и RTX 3080 в 4K.

0

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

2

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

0

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

0

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

-2

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

2

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

Спойлер
1

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

0

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

1

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

0

Было бы хорошо иметь способ повышения для встроенной видюхи.

0

Если она всегда загружена под завязку, то ей это не поможет.

0

загрузка 99% всегда у нее, при этом проц почти простаивает. Конечно встройка не такая мощная, но на средних игру в 25-30фпс тянет.

1