Log in to join the discussion
Back to list

Несколько слов о «падении FPS после установки модов»

Strategy
OPApr 26, 01:12 PM460

Здравствуйте, командиры.

В сообществе в последнее время много обсуждают тему «моды вызывают падение производительности». В этом посте мы хотели бы разом объяснить, что означают три показателя производительности в ангаре, почему моды влияют на FPS и как улучшить впечатления от игры, не удаляя моды.


1. Почему игра начинает тормозить

Сначала самое главное: все официальные машины проходят строгую проверку бюджета производительности. Полигонаж наших официальных машин в основном держится в пределах 10 000 – 30 000 треугольников, а количество материалов и твёрдых тел тоже имеет внутренние ограничения.

С модами всё иначе. Моды создают и импортируют сами авторы из сообщества, и качество сильно различается — у одних авторов есть опыт, они знают, как заменять реальную геометрию картами нормалей и как объединять материалы; другие делают упор на визуальную детализацию, и встретить модовую машину с 300 000 треугольников, дюжиной материалов и 80+ твёрдыми телами — обычное дело.

Движок не делает для модов никаких поблажек. Он просто честно рендерит то, что ему дали, отправляет DrawCall'ы и считает физику. Поэтому если после установки нескольких высокодетализированных модов у вас заметно упал FPS — дело не в движке, а в том, что суммарная нагрузка от рендера и физики на экране превысила возможности вашего компьютера.


2. Разбираемся с тремя показателями производительности в ангаре

Зайдите в ангар и выберите любую машину. На правой панели в разделе Vehicle Performance (Производительность машины) будут показаны три числа. Они автоматически окрашиваются в зависимости от значения по следующим правилам:

Показатель Значение Зелёный Жёлтый Красный
Triangle Количество треугольников (нагрузка на GPU) < 50 тыс. 50 – 100 тыс. ≥ 100 тыс.
Material Количество материалов (нагрузка на DrawCall) < 5 5 – 10 ≥ 10
Rigid Количество твёрдых тел = внутренние модули + хитбоксы (нагрузка на физику) < 25 25 – 50 ≥ 50

Несколько ориентиров для понимания:

  • У официальных машин все три показателя практически всегда зелёные, и подавляющее большинство имеет от 10 до 30 тыс. треугольников
  • Одна машина с более чем 100 тыс. треугольников по нагрузке на рендер примерно эквивалентна трём официальным машинам
  • Машины с красным количеством материалов особенно тяжелы для бюджетных ПК и мобильных устройств — каждый дополнительный материал означает ещё один DrawCall
  • У машины с красным количеством твёрдых тел при попадании движок вынужден последовательно проверять пересечение со всеми хитбоксами; когда несколько таких машин обмениваются огнём, нагрузка на CPU заметно возрастает

3. Почему «использование ИИ» — убийца производительности

Простая арифметика:

Вы сами управляете только 1 машиной.
А ИИ-машины спаунятся по правилам режима — в режимах вроде Стычки, Битвы с ботами, Roguelike на экране одновременно бывает 6–16 ботов.

Если качественный мод на 300 тыс. треугольников / 15 материалов / 80 твёрдых тел активно используется ИИ, и 8 таких машин одновременно появляются на поле, то получаем:

  • Рендер: 2,4 млн треугольников
  • DrawCall'ы: 120+
  • Физических твёрдых тел: 640

При таких масштабах FPS заметно проседает даже на топовых ПК. Проблема не в одной машине, а в массовости.


4. Что делать: запретить использование ботами прямо в ангаре

В ангаре уже есть встроенная функция для этого.

Как сделать: выберите нужную машину → найдите переключатель «Использование ботами / Bot Usage» → выключите его.

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

Рекомендуемые критерии отбора:

  • Все три зелёные: смело отдавайте ИИ — включайте не задумываясь
  • Один жёлтый, остальные зелёные: можно отдавать ИИ, влияние небольшое
  • Два или более красных: рекомендуем выключить «Использование ботами» — оставьте машину для себя

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


5. Советы по оптимизации для авторов модов

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

О количестве треугольников

Старайтесь держаться в пределах 80 тыс. Такие детали, как гусеницы, заклёпки и винты, заменяйте картами нормалей вместо реальной геометрии — на типичной игровой дистанции игрок практически не заметит разницы, а нагрузка на рендер может снизиться на порядок.

О материалах

Объединяйте! Полноценному танку обычно достаточно 4–5 материалов — корпус, башня, гусеницы, стёкла, интерьер. Назначение отдельного материала каждой бронепластине — самая распространённая и самая незаметная ловушка для производительности.

О твёрдых телах (главное)

По умолчанию внутренние модули используют Rigidbody + MeshCollider — это режим «Сложной физики», и стоит он недёшево. В редакторе мы предусмотрели кнопку конвертации в один клик:

Выберите InternalModule → панель Inspector → «Переключить на простую физику / Switch to Simple Physics»

Один клик — и компонент автоматически удалит Rigidbody и MeshCollider, заменив их на BoxCollider, сгенерированный из ограничивающего рендер-бокса. Нескольких BoxCollider'ов вместе достаточно, чтобы передать физический объём большинства модулей, и тогда каждому модулю уже не нужно собственное твёрдое тело, а число Rigid резко падает.

Если потом захотите вернуть детальную физику, в том же месте появится кнопка «Переключить на сложную физику / Switch to Complex Physics», и одним кликом всё восстановится.

С хитбоксами та же логика — деления по принципу «перед / борт / корма / верх / низ + основные модули» вполне достаточно; не нужно дробить их до уровня заклёпок.


Итог

  1. Это не оптимизация движка стала хуже — это нагрузка от ресурсов на экране стала больше.
  2. Три показателя производительности в ангаре = приборная панель стоимости одной машины; красный = высокий расход.
  3. Перед боем потратьте 30 секунд и выключите «Использование ботами» в ангаре для всех модов, у которых два или более показателя в красной зоне.
  4. Авторам модов: пожалуйста, активно пользуйтесь кнопкой «Переключить на простую физику» в редакторе — она ощутимо снижает количество Rigid.

Надеемся, эта заметка окажется полезной. Если останутся вопросы — пишите в комментариях.

13 replies
Apr 26

Thank you so much for this information. I've always wanted to understand how this system works, as I'm also a beginner. I'd also like to ask if it's possible to get some video tutorials To explain how to merge pieces, how to build geometric shapes, etc., because it's very difficult for beginners like me.

One last thing: would it be possible to add the number of polygons and materials in real time to the tank workshop?

Thank you !! 😊

Apr 26

Even for map workshop*

Apr 26

或许你可以直接尝试制作模组了

Apr 26
@工-具-人-2-3-号

I have no experience and my last attempt was a failure

Apr 26
@STL785

没事,有啥问题可以问问其他模组人,你也可以在discord上联系我

Apr 26
@工-具-人-2-3-号

Thank man

Apr 26

战雷模型的灯,灯罩,机枪,膛线甚至观察镜等等都有单独的贴图,所以材质球特别多

Apr 26

你可以合并的 rebake 下的

May 11

I have a question.

I'm not entirely sure what the materials in the tank workshop represent. Are they cubes?

If so, does merging 2 cubes = 1 material?

May 11

the unity engine material

May 11
@DevTeam

Ok ok, but how can we know how to optimize a DIY vehicle? How can we know in advance that the diy will be far too heavy?

May 12
@STL785

Merge poly in the same layer.

4 days ago

为什么我禁用了个坦克,AI还会使用?

1 / 1
1/200/2000
Login To Reply