Большое количество объектов в кадре

Раздел, посвящённый самому важному - скорости.

Большое количество объектов в кадре

Сообщение shoooter9688 01 ноя 2015, 19:46

Делается стратегия(RTS) с небольшим количеством юнитов(не так как в total war). Но их на камере может быть и пару сотен. Так вот если такое количество объектов на сцене в кадре разместить то ФПС будет очень низким, при этом в Profiler самую большую нагрузку на процессор(видеокарта загружена на пару процентов) делает Camera.Render.
Даже если юнита оптимизировать до того что он будет одним объектом все равно этого не достаточно, да и в случае смены оружия это совсем неудобно. Какие есть способы решить эту проблему?

Скрытый текст:
насчет оружия: что больше отъест ресурсов процессора пустой объект или объект с мешем. Просто есть вариант заскинить оружие на пустой объект и с ним уже возможно сделать анимацию помещения оружия в ножны, хотя тогда придется его в иерархии менять, что то же может некоторую нагрузку дать. В таком случае что эффективнее просто отдельный объект оружия или цельный меш на персонажа и дополнительные объекты на которые заскинен меш?
Последний раз редактировалось shoooter9688 02 ноя 2015, 09:36, всего редактировалось 1 раз.
shoooter9688
UNец
 
Сообщения: 49
Зарегистрирован: 03 фев 2014, 20:52

Re: Большое количество объектов в кадре

Сообщение jetyb 02 ноя 2015, 08:13

Пара сот объектов тяжелых оптимизаций не требует.
Прежде всего надо просмотреть профиллер, какие методы конкретно тормозят.
-Включите GPU Skinning
-Отключите тени у юнитов/сделайте их максимально простыми
-сделайте лоды юнитов
-в настройках анимации укажите анимировать только при видимости
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: Большое количество объектов в кадре

Сообщение shoooter9688 02 ноя 2015, 09:42

jetyb писал(а):Прежде всего надо просмотреть профиллер, какие методы конкретно тормозят.

Я в первом сообщении написал что тормозит Camera.Render просто в сцене чисто с анимироваными юнитами он занимает 70%.
jetyb писал(а):-Включите GPU Skinning

уже пользуемся
jetyb писал(а):-Отключите тени у юнитов/сделайте их максимально простыми
-сделайте лоды юнитов

а вот с этим я не сильно понимаю. Я обычно думал что это разгрузит видеокарту, а процессор заставит еще и лоды переключать. Влияет ли кол-во полигонов на нагрузку процессора?
shoooter9688
UNец
 
Сообщения: 49
Зарегистрирован: 03 фев 2014, 20:52

Re: Большое количество объектов в кадре

Сообщение jetyb 02 ноя 2015, 14:28

Я в первом сообщении написал что тормозит Camera.Render просто в сцене чисто с анимироваными юнитами он занимает 70%.

Camera.Render - не просто строчка, а целая группа методов (Drawing, Culling) с записью времени рендера для каждого объекта.

Насчет лодов - проще ведь обработать трехкопеечную проверку лода для модели, чем считать для нее сложную анимацию. SkinnedMeshRenderer от юнитов - относительно тяжелая штука.
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: Большое количество объектов в кадре

Сообщение shoooter9688 02 ноя 2015, 15:40

jetyb писал(а):Camera.Render - не просто строчка, а целая группа методов (Drawing, Culling) с записью времени рендера для каждого объекта.

спасибо, тупанул. Вот что бы долго не писать развернутый скриншот.
Скрытый текст:
Изображение

Отключение теней действительно удваивает ФПС. Может кто то объяснить почему это так сильно влияет на процессор? Я думал он только положение объектов передает видеокарте, а она уже разбирается что с ними делать.
Лоды кстати думаю помогут, поскольку если поставить 380юнитов(два объекта в каждом) с тенями будет 30фпс, если 760 кубиков получается 130фпс
shoooter9688
UNец
 
Сообщения: 49
Зарегистрирован: 03 фев 2014, 20:52

Re: Большое количество объектов в кадре

Сообщение DualPain 02 ноя 2015, 19:20

предлагаю приостановить разработку игры и прочитать мануал юнити, очень глупые вопросы, на которые есть ответы в стандартной справке юнити
DualPain
Старожил
 
Сообщения: 727
Зарегистрирован: 11 янв 2013, 01:18
Skype: demon21.09

Re: Большое количество объектов в кадре

Сообщение shoooter9688 03 ноя 2015, 08:31

DualPain писал(а):предлагаю приостановить разработку игры и прочитать мануал юнити, очень глупые вопросы, на которые есть ответы в стандартной справке юнити

Я не руководитель проекта и останавливать разработку из за того что 3D художник не очень знает что то из Unity как то странно. А про графику и оптимизацию я мануал читал несколько раз, все что там есть уже сделано.
shoooter9688
UNец
 
Сообщения: 49
Зарегистрирован: 03 фев 2014, 20:52

Re: Большое количество объектов в кадре

Сообщение DualPain 03 ноя 2015, 11:16

Вы не знаете и не понимаете очень простых вещей. Как работают тени, как полигонаж влияет на производительность. Уверен, что вы понятия не имеете сколько должно быть в среднем полигонов в кадре для вашего жанра.
Я не говорю, что вы плохой работник, просто надо подучить основы. Все эти вещи легко найти в интернете.
3д артисты вообще ничего могут и не знать по движку, их задача сделать качественную модель с требуемым числом полигонов.
DualPain
Старожил
 
Сообщения: 727
Зарегистрирован: 11 янв 2013, 01:18
Skype: demon21.09

Re: Большое количество объектов в кадре

Сообщение shoooter9688 03 ноя 2015, 15:46

DualPain писал(а):Вы не знаете и не понимаете очень простых вещей. Как работают тени, как полигонаж влияет на производительность. Уверен, что вы понятия не имеете сколько должно быть в среднем полигонов в кадре для вашего жанра.
Я не говорю, что вы плохой работник, просто надо подучить основы. Все эти вещи легко найти в интернете.
3д артисты вообще ничего могут и не знать по движку, их задача сделать качественную модель с требуемым числом полигонов.

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

Кстати насчет полигонов проводил такие тесты: делал множество простых кубиков около 40к треугольников и несколько кубиков но около 40млн треугольников(цифры приблизительные), так вот последняя сцена выдавала 30фпс, а в первой вроде и 10 не было. И что интересно сцена с большим кол-вом треугольников процессор практически никак не нагружала все упиралось в возможности видеокарты, а в другой сцене наоборот было. От этого и появилось мнение что количество полигонов не сильно влияет на нагрузку процессора.
shoooter9688
UNец
 
Сообщения: 49
Зарегистрирован: 03 фев 2014, 20:52

Re: Большое количество объектов в кадре

Сообщение Anti-Ded 08 янв 2020, 15:36

Перечитал уже много чего, но нужного так и не прочитал. Прошу дураку ссылку дать про rts и множество объектов.

Читал про Динамический батчинг (Dynamic Batching), но там конкретно сказано, что вмешательства не требует. Источник света у меня только один, так что много чего тоже отваливается. Все модели преобразовал в кубики - всё равно тормозит. Убирание теней даёт совсем небольшой прирост. Объектов в кадре бывает до 600. Весь металлик и смуснес, спекулар и рефлекшн отключены на материалах, гпу инстансинг включён. Лайт и рефлекш на кубиках отключены, тени отключены.
Anti-Ded
UNец
 
Сообщения: 44
Зарегистрирован: 28 янв 2018, 23:24

Re: Большое количество объектов в кадре

Сообщение Jarico 08 янв 2020, 18:28

Anti-Ded писал(а):Перечитал уже много чего, но нужного так и не прочитал. Прошу дураку ссылку дать про rts и множество объектов.

Читал про Динамический батчинг (Dynamic Batching), но там конкретно сказано, что вмешательства не требует. Источник света у меня только один, так что много чего тоже отваливается. Все модели преобразовал в кубики - всё равно тормозит. Убирание теней даёт совсем небольшой прирост. Объектов в кадре бывает до 600. Весь металлик и смуснес, спекулар и рефлекшн отключены на материалах, гпу инстансинг включён. Лайт и рефлекш на кубиках отключены, тени отключены.


Потому что юзается только 1 поток! Юнити работает в однопоточном режиме + в нагрузку идёт отрисовка интерфейса редактора который рисуется процессором (OnGUI же)...

Изучай ECS с Job System и Burst... На днях испытывал при больших количествах объектов (около 3к) фпс так же проседает но быстро стабилизируется когда операции с некоторыми объектами заверешены
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Большое количество объектов в кадре

Сообщение Anti-Ded 08 янв 2020, 20:10

С ECS и JobSystem тоже ознакомлен, потому у меня в толпе зомбей есть лидер, который ищет цель и указывает путь, а остальные тупо идут рядом. Сейчас 1000 зомбей без потери фпс вообще, но стоит хотя бы трём сотням появиться на экране и кранты...
Anti-Ded
UNец
 
Сообщения: 44
Зарегистрирован: 28 янв 2018, 23:24

Re: Большое количество объектов в кадре

Сообщение Jarico 08 янв 2020, 21:39

Anti-Ded писал(а):С ECS и JobSystem тоже ознакомлен, потому у меня в толпе зомбей есть лидер, который ищет цель и указывает путь, а остальные тупо идут рядом. Сейчас 1000 зомбей без потери фпс вообще, но стоит хотя бы трём сотням появиться на экране и кранты...


Мне кажется может лагать из-за Mesh Renderer и Skinned Mesh Renderer... Они вроде обрабатываются процессором конвейером перед отправкой ГП....

Отключи все Mesh Renderer и Skinned Mesh Renderer и посмотри в профайлере что жрёт процессорное время
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Большое количество объектов в кадре

Сообщение Anti-Ded 08 янв 2020, 23:00

Поменял зомбей на кубики. Потеря фпс оказалась очень маленькая... Но зомбаки у меня совсем лоуполи
Изображение
Anti-Ded
UNец
 
Сообщения: 44
Зарегистрирован: 28 янв 2018, 23:24


Вернуться в Оптимизация

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2