Полезное

Мы Вконтакте

Discord канал

#
Аватара пользователя
Пользователь
Сообщения: 47
Вопрос в заголовке. Низкая производительность игры на мобильном девайсе. Команда unitgraph показывает
Frame 35 ms
Game 30 ms
Draw 16 ms.
Если я правильно понимаю,то это означает что фпс страдает из-за логики игры а не из-за графики. Суда по тестам фпс теряется в ботах, но где конкретно, в какой их части понять не могу. Вопрос, где теряется фпс? Есть такой инструмент как профайлер, но я в нем толком не разобрался. Как можно понять на что тратится производительность мобильного устройства, и как можно повысить производительность игры?
_________________
Наш проект (android)
http://www.marvex.net/
Открытый бета тест https://play.google.com/apps/testing/co ... acing_0000
Аватара пользователя
Пользователь
Сообщения: 4069
в консоль ввести команды - https://docs.unrealengine.com/latest/IN ... index.html

p.s. один из способов повысить производительность, использовать меньшее кол-во компонентов, меньше переменных, не использовать тик когда в этом нет нужды, и много много других вещей, настройка графики, освещение, полигоны, текстуры, перечислять можно долго.

у меня юнит граф такое показывает - Изображение

лагов 0, мб мобила для уе4 слабовата?
Аватара пользователя
Пользователь
Сообщения: 47
Мобила довольно крута, meizu pro 6. Конечно я читал про эти нюансы оптимизации. И пытался использовать консольные команды. Но основной вопрос в том как пользоваться инструментом Profiler. Я знаю как писАть статистику на мобильном устройстве, но как ее анализировать? Там куча всего, и как понять куда девается производительность? Речь идет о гоночной игре. В целом на уровне фпс 50 -60 при весьма пристойной графике. Но когда вставляю ботов, то за каждого бота, а их 5-6, сжирается по 4-6 фпс, что ведет к падению фпс до 25-30, а в периоды особо сильного экшна, когда происходит много взрывов, фпс может упать до 15! И это с 50-60. На устройстве стоит 10-ядерный проц, не топ конечно, но предтоп так сказать. Аналог галакси с 6 по параметрам.
_________________
Наш проект (android)
http://www.marvex.net/
Открытый бета тест https://play.google.com/apps/testing/co ... acing_0000
Аватара пользователя
Пользователь
Сообщения: 4069
мы тестируем на двух ядерной мобиле, на сцене до 10 ботов, лимит фпс 30, боты у нас простейшие, чарактер мовемент, не используется, БП типа актор, быстродействие на текущий момент 50+, т.е. в запасе есть еще около 20ти, ты сам ответил что тебе убивает быстродействие. Много ли компонентов содержат боты, много ли у них операций на тике, попробуй заменить меши в ботах на кубы, мб в полигонах дело.

p.s. БП класса Character очень тяжелый БП, возможно не самый удачный выбор с концептом для мобильного устройства, юзаете тяжелые инструменты так сказать.

p.p.s. мое мнение что 30 фпс для мобилки достаточно, при условии что они будут стабильны.
Аватара пользователя
Пользователь
Сообщения: 47
Prytaleks, спс что отвечаешь на мои вопросы).Да я заметил что чарактер БП жрет немало, поэтому ботов тоже сделал из обычного актера. Боты -- машинки. Использовал Physics constrain component по 4 шт на каждого бота... плюс нода add force и несколько Line trace. Есть пара тайм лайнов, но они не часто запускаются, и вроде фпс не садят. Я с помощью профайлера наделся выяснить вес каждой ноды для бота и понять что лучше убрать а что оставить. Но видимо проще выяснять путем экспериментов.
Еще пара вопросов по оптимизации. Настройки физики. Для уровня сделана отдельная коллизия. Можно ли сэкономить фпс на расчете физики, если для мешей уровня коллизию отключить, оставить только упрощенные объемы? (до этого использовал коллизию по полигонам, полигонов не сильно много, на весь уровень порядка 400 тысяч) P.S. не использую стандартный ландскейп, так как создает проблемы на андроиде.
Также есть информация что нода delay может создать определенные проблемы. Но обойтись без нее бывает очень не просто, банально КД на скилл как по другому сделать неясно.
_________________
Наш проект (android)
http://www.marvex.net/
Открытый бета тест https://play.google.com/apps/testing/co ... acing_0000
Аватара пользователя
Пользователь
Сообщения: 4069
делэй или рэтригердэлэй врядли может просадить фпс, все бьет по фпс в той или иной степени, лучший способ это регулярно проверять его с помощью этой логики, добавил чего нибудь 10 или 100 и проверил
Изображение

если заменить физику на анимации, и вместо Адд форсе написать собственную логику, прирост к быстродействию будет весьма не плохой. Каждый компонент имеет или мало или много переменных, это все память и вычисления. Зачастую компонент имеет много больше функций и переменных чем тебе от него надо, грубо говоря юзаешь его на 2%, врядли это целесообразно для оптимизации.
Еще если коллизия карты просчитывается по полигонам, + физика, это будет жестко.
Способов как сделать быстрее или медлене тысячи. если не миллионы))
Одно могу сказать, что я генерирую впереди целый мир, тащу на свою "машинку" и уничтожаю, когда позади камеры. И в запасе есть еще 20 фпс, 20 фпс это достаточно много, для моих акторов и компонентов.
Левелы весят килобайты, физики совсем мало, и не более 2 сек на объект, когда он мертв, потом он уничтожается. Взрывы и эффекты, или спрайтовые анимации, или простейшие партиклы.
Аватара пользователя
Пользователь
Сообщения: 47
Есть над чем подумать) спс))
_________________
Наш проект (android)
http://www.marvex.net/
Открытый бета тест https://play.google.com/apps/testing/co ... acing_0000


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

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница