Воскресенье, 24 Ноября 2024, 04:10

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Оптимизация 2D игры
BassPiraT92Дата: Четверг, 20 Июня 2019, 07:19 | Сообщение # 1
участник
Сейчас нет на сайте
Подскажите как оптимизировать 2D игрульку. Просто когда спрайтов двигающихся по MoveToward больше 10-15 шт, фпс жестко проседает в плоть до 7-10 fps. проц i7 7700, видео 1060 6gb. оперативы 16 гб
pixeyeДата: Четверг, 20 Июня 2019, 09:03 | Сообщение # 2
Red Winter Software
Сейчас нет на сайте
Как раз вчера баловался со всякой фигней)
20 тысяч отскакивающих гильз с ужасно нереалистичным отскоком XD

Никаких особых оптимизаций не надо.
Для начала дебаг. Определи что медленее всего работает.


ACTORS - мой фреймворк на Unity
Until We Die - игра над которой работаю



Сообщение отредактировал pixeye - Четверг, 20 Июня 2019, 09:04
BassPiraT92Дата: Четверг, 20 Июня 2019, 12:25 | Сообщение # 3
участник
Сейчас нет на сайте
pixeye, подскажешь как дебагом это отследить? Просто не занимался таким
pixeyeДата: Четверг, 20 Июня 2019, 12:50 | Сообщение # 4
Red Winter Software
Сейчас нет на сайте
1. Выясни что больше потребяет ресурсов.
Логика ( оч условно CPU ) или отрисовка. (Render thread )


Это можно посмотреть во вкладке Stats.
Например у меня видно что CPU нагружен больше. Больше не значит плохо, пока ты просто сравниваешь и выясняешь что в игре у тебя тяжелее.

Дальше открываешь окно дебагера.


Включаешь Record, Включаешь Hierarchy - и с запущенной игрой смотришь что будет происходить.

Тебя интересуют два поля. GC Alloc и Time ms.
В идеале GC alloc должен быть на нуле. ( Ясно что аллокации у тебя будут но не должно быть такого чтобы были аллокации каждый кадр. )
Сами аллокации по себе ничего тебе не сделают однако это мусор. Представь что ты сидишь в своей уютной квартире и вокруг себя разбрасываешь носки, грязные тарелки, фантики. Ты вроде довольный, но приходит жена дает тебе нагоняя и пока она убирает ты работать не можешь. Произошел ФРИЗ. Так же и тут сборщик мусора увидет что ты дохрена нагадил и на момент уборки заморозит твой процесс. Так что чем больше мусора тем чаще появляется сборщик тем хуже для твоего фпс.

Вкладки которые тебе интересны скорее всего будут в PlayerLoop->BehaviorUpdate. В любом случае находишь места с которых у тебя падает фпс и смотришь какие операции скок времени занимают. На основе этого начинаешь делать предположения. А еще лучше покажи код.

Так же сходу могу внести предположение что тебе в консоль сыпятся дебаг сообщения которые ты игнорируешь или не видишь, а они оч сильно фпс дропают. У новичков это как правило 50 из 100 случаев "таинственных просадок фпс"


ACTORS - мой фреймворк на Unity
Until We Die - игра над которой работаю



Сообщение отредактировал pixeye - Четверг, 20 Июня 2019, 12:53
drcrackДата: Четверг, 20 Июня 2019, 13:06 | Сообщение # 5
старожил
Сейчас нет на сайте
когда фпс просядает без причин, это очень часто вызвано редактором, а именно:
1. запись в консоль (упомянуто выше)
2. в инспекторе выбрана камера или движущийся обьект
3. в иерархии постоянно создаются/удаляются обьекты
или что-то еще, что вызывает перерисовку интерфейса редактора каждый кадр
BassPiraT92Дата: Пятница, 21 Июня 2019, 21:33 | Сообщение # 6
участник
Сейчас нет на сайте
pixeye, CPU main 200-290ms выдает при 20 спрайтах движущихся через MoveToward. Как MoveToward отключаю, спрайты спавнятся штук по 300 и не чего не висит.

Есть ли аналог MoveToward или как его лучше оптимизировать? TopDown 2D игра шутер
  • Страница 1 из 1
  • 1
Поиск:

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