Четверг, 28 Марта 2024, 12:05

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Создаю клон GTA 6 (вопрос по оптимизации) (про ГТА - шуткка))
Создаю клон GTA 6 (вопрос по оптимизации)
zaicev9797Дата: Среда, 04 Мая 2016, 21:20 | Сообщение # 1
AbRaKaDaBrA
Сейчас нет на сайте
С переходом с Unity 4 на unity 5 бнаружил, что игра стала сильнее тормозить. Погоревал, и начал оптимизировать все что только видел. Оптимизировал, оптимизировал, да наоптимизировал на столько, что уже скрипты ничего не потребляют практически.



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

behaviourUpdate занимает около 10- процентов времени. Camera.Render - около 15-и физика - тоже около 10-и процентов. осоновной процент отьедает пункт Others, причем он увеличивается, когда я увеличиваю колличество ботов в сцене. про него написано весьма размазанно в документации - на счет того что он там в себе может содержать. Собственно есть у когонибудь какиелибо рекомендации по оптимизированию может быть? очень прям нужно, ато лагает.
заранее спасибо)


проект Mysterious Space. The losted moment

Сообщение отредактировал zaicev9797 - Четверг, 05 Мая 2016, 19:00
TLTДата: Четверг, 05 Мая 2016, 00:25 | Сообщение # 2
Сейчас нет на сайте
Лагает или заторможенность вообще? Т.е. игра останавливается в моментах или вообще стабильно медленная картинка?

Дао, выраженное словами, не есть истинное Дао.
ShortKedrДата: Четверг, 05 Мая 2016, 01:29 | Сообщение # 3
Renword Studio
Сейчас нет на сайте
TLT, я вижу тут фризы, связанные с синхронизацией.

zaicev9797, для оптимизации можешь оптимизировать GUI(меньше левых расчётов в отрисоке) или перевести его на UI(почти не жрёт ничего), твоё решение.
Можно Occlusion Cucling прикрутить для уменьшения времени рендера.
С физикой конечно, чем больше движений, тем больше нагрузка.
BehaviourUpdate можно тоже попробовать оптимизировать. Чем больше расчётов ненужных на каждый кадр тем тяжелее выходит

По поводу фризов через некоторые промежутки времени(там где подскоки идут). Можно выключить вертикальную синхронизацию и привести всё к своему нужному fps.
Фризы при переводе версий у меня не редко случались


Сообщение отредактировал ShortKedr - Четверг, 05 Мая 2016, 01:32
zaicev9797Дата: Четверг, 05 Мая 2016, 06:35 | Сообщение # 4
AbRaKaDaBrA
Сейчас нет на сайте
Цитата TLT ()
Лагает или заторможенность вообще? Т.е. игра останавливается в моментах или вообще стабильно медленная картинка?


стабильно низкий фпс. когда 6 ботов в сцене держится на уровне 30 фпс, при 18 садится до 18. (это на устройствах). Боты перемещаются физиклй, но все это дело происходит даже не в фиксед апдейте, а в короутине. Тоесть боты токлкаются физикой приблизительно от 10 до 3 раз в секунду. Я вообще почти все скрипты вынес в короутину. До оптимизаций с четырьмя ботами фпс был в районе 24-26. после оптимизаций стал около 33.

Цитата ShortKedr ()
для оптимизации можешь оптимизировать GUI(меньше левых расчётов в отрисоке) или перевести его на UI(почти не жрёт ничего), твоё решение.


вот это попробую, на UI перевести, спасибо за совет, ато ща все OnGUI рисует.

Цитата ShortKedr ()
Можно Occlusion Cucling прикрутить для уменьшения времени рендера.


оклюжн кулинг врятли подойдет, т.к. сцена просторная (это вообще космос) мало ситуаций, когда обьекты перекрывают друг друга. Это если бы уровни корридорные были, был бы смысл использовать.

Цитата ShortKedr ()
По поводу фризов


В данный момент, когда я профайлил, я снизил все графические настройки на минимум, чтоб видеть нагрузку на скрипты без рендера. На устройствах фризов практически не наблюдается, только перепады ФПС в раене 10-и единиц.(по крайней мере таких периодичных фризов как в профайлере нет, ну а на компе тем более мощностей побольше, поэтому там стабильно 60 фпс при любой нагрузке). Когда же Выставляю максимальные настройки графики, рендер подрастает приблизительно раза в 2-3, да и в целом протребление в профайлере немного вырастает и эти скачки становятся незаметными


проект Mysterious Space. The losted moment

Сообщение отредактировал zaicev9797 - Четверг, 05 Мая 2016, 06:40
BarbatosДата: Четверг, 05 Мая 2016, 11:09 | Сообщение # 5
3D-моделлер/Руководитель
Сейчас нет на сайте
zaicev9797,
Я вот как раз день назад примерно с тем же столкнулся.
У меня есть 20 ботов - они сильно грузят процессор когда включается игра, оптимизировал скрипты - та же фигня.
Ну я удалял все подряд, в поисках того, что нагружает пока не пришел к выводу, что основную нагрузку создают кости и skinned renderer. Тупо с костями боты нагружают до 30мс когда их 20, если кости у всех отключить я могу до 60-80 их довести, только тогда будет нагрузка в 30мс.

Может глупость, но это мое личное наблюдение.


Его остатки и на хлеб не намазать. Мой тебе совет Пабло - относись к жизни как к веселухе, но непродолжительной. @Эш

Сообщение отредактировал Barbatos - Четверг, 05 Мая 2016, 11:10
zaicev9797Дата: Четверг, 05 Мая 2016, 12:34 | Сообщение # 6
AbRaKaDaBrA
Сейчас нет на сайте
Цитата Barbatos ()
кости


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


проект Mysterious Space. The losted moment
berilДата: Четверг, 05 Мая 2016, 15:12 | Сообщение # 7
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
LOD ? отключение эффектов вдали и т.д, заморозка физики если невидно обьект, отключение анимации и т.д.
Щас делаю rpg у меня там целая тьма ботов на карте, я просто включаю их AI когда они попадают в зону видимости или находятся на определенном расстоянии от игрока, все остальное время они тупо замороженные (выключена физики, убраны коллайдеры и т.д)
есть такие NPC у которых есть распорядок дня в городе, так вот у меня тоже у них все отключено вплоть до рендера, и перемещение в точку их назначения происходит моментально. Когда же находятся на определенном расстоянии от игрока, то включаю и двигаться они начинают в точку назначения, как положено




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
zaicev9797Дата: Четверг, 05 Мая 2016, 15:44 | Сообщение # 8
AbRaKaDaBrA
Сейчас нет на сайте
Цитата beril ()
заморозка физики если невидно обьект


ну вот конкретно физику замораживать не пробовал, не знаю, на сколько это возможно кронкретно в моем случае. но когда например обьекты не видимы - их сосотяние обновляется гораздо реже. Например пульки за пределами экрана у меня перемещаются не каждый фрейм а приблизительно 10 раз в секунду. Рейкастят же пульки всегда около 10 раз в секунду (там количество рейкастов на секунду зависит от скорости пули)


проект Mysterious Space. The losted moment
BarbatosДата: Четверг, 05 Мая 2016, 17:44 | Сообщение # 9
3D-моделлер/Руководитель
Сейчас нет на сайте
zaicev9797,
А зачем такой большой clipping planes?


Его остатки и на хлеб не намазать. Мой тебе совет Пабло - относись к жизни как к веселухе, но непродолжительной. @Эш
zaicev9797Дата: Четверг, 05 Мая 2016, 19:00 | Сообщение # 10
AbRaKaDaBrA
Сейчас нет на сайте
а там планетка рендерится на фоне. в принципе обьектов сцене не много, поэтому уменьшение врятли даст результат.

Добавлено (05 мая 2016, 19:00)
---------------------------------------------
ну блиииииин, интвертированный капслок в названии был задуман.. ((((((((((((((((((((((((((999999999999999 это не баг, это фичааааа!!!!!!!!!!!!!111111111111


проект Mysterious Space. The losted moment

Сообщение отредактировал zaicev9797 - Четверг, 05 Мая 2016, 18:02
ShortKedrДата: Пятница, 06 Мая 2016, 01:14 | Сообщение # 11
Renword Studio
Сейчас нет на сайте
Цитата zaicev9797 ()
Боты перемещаются физиклй, но все это дело происходит даже не в фиксед апдейте, а в короутине. Тоесть боты токлкаются физикой приблизительно от 10 до 3 раз в секунду. Я вообще почти все скрипты вынес в короутину.

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

beril, хорошая идея по поводу отключения ненужных объектов)


Сообщение отредактировал ShortKedr - Пятница, 06 Мая 2016, 01:15
zaicev9797Дата: Пятница, 06 Мая 2016, 08:09 | Сообщение # 12
AbRaKaDaBrA
Сейчас нет на сайте
Цитата ShortKedr ()
Понимаешь,


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


проект Mysterious Space. The losted moment
sfabrikanДата: Пятница, 06 Мая 2016, 09:12 | Сообщение # 13
БЕЗУМЕЦ!!!
Сейчас нет на сайте
Цитата zaicev9797 ()
про ГТА - шуткка

Тогда чей клон создаешь?


Это я
zaicev9797Дата: Пятница, 06 Мая 2016, 10:43 | Сообщение # 14
AbRaKaDaBrA
Сейчас нет на сайте
да не, не клон, эт так, для превлечения внимания я написал. а так - космсим - пострелушка на андроид

проект Mysterious Space. The losted moment

Сообщение отредактировал zaicev9797 - Пятница, 06 Мая 2016, 10:44
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Создаю клон GTA 6 (вопрос по оптимизации) (про ГТА - шуткка))
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг