В Unity система пользовательского интерфейса намного хуже с точки зрения производительности, чем при использовании 2D sprite?

#c# #unity3d #game-engine

#c# #unity-game-engine #игровой движок

Вопрос:

Я создаю карточную игру (например, Hearthstone) с помощью Unity, поскольку там много текстов, я использую систему пользовательского интерфейса для создания всей игры, то есть каждая карта представляет собой UI-изображение с аниматором на нем.

Моя игра немного тормозит при запуске на старых мобильных телефонах, таких как iPhone 6S. Я не уверен, вызвано ли это тем, что не используется система sprite с преобразованиями текстов пользовательского интерфейса, прикрепленными к карточным спрайтам.

Итак, как следует из названия, система пользовательского интерфейса намного хуже с точки зрения производительности, чем при использовании 2D sprite?

Ответ №1:

Да, в целом пользовательский интерфейс хуже.

Это мнение основано на видеороликах и статьях по оптимизации Unity. где они упоминают такие вещи, как:

  • Когда один или несколько элементов меняются на холсте, весь холст должен быть повторно проанализирован, чтобы выяснить, как оптимально нарисовать его элементы.. и другие подобные проблемы с производительностью (см. Ссылку на статью ниже)

ссылки:

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

Комментарии:

1. Спасибо за вашу помощь. В моем случае на всех карточках есть тексты, которые должны отображаться с помощью пользовательского интерфейса, и преобразования этого пользовательского интерфейса должны следовать преобразованиям карточек. Таким образом, даже если я поменяю все карточки, используя 2D sprites, тексты на них все равно будут стоить почти одинаково. Так что нет смысла менять их на 2D sprites, верно?

2. Пользовательский интерфейс хуже, только если вы не понимаете, как он оптимизирован. Как только вы создадите свой пользовательский интерфейс правильным образом, он будет намного лучше, чем спрайты.