Войти
ПрограммированиеФорумОбщее

Unity. 2D Object > Sprite vs UI > Image.

#0
17:33, 19 фев. 2016

Вопрос выбора графического инструмента для отображения элементов игры Match 3.

UI.Image позволяет использовать весь инструментарий UI, что упрощает позиционирование. Но не сильно ли он кушает производительность против голого Sprite?

Что лучше?


#1
17:51, 19 фев. 2016

А чем два треугольника кушают больше других двух треугольников?    :)

#2
18:36, 19 фев. 2016

k119_55524
> два треугольника
Мимо.

#3
20:08, 19 фев. 2016

Что мешает нажать Stats и сравнить?

#4
21:06, 19 фев. 2016

Skyblade
> Что мешает нажать Stats и сравнить?
Лень файлики туда-сюда перемещать :) Код то разный.

В принципе я пока переписал все на UI, вроде нормально работает.

#5
23:03, 19 фев. 2016

Barabus
Глянь про UI (23:30 time), думаю будет полезной информация.

#6
23:20, 19 фев. 2016

MaxImuS
Офигеть. Не, ну его нафиг, этот UI. Его лучше использовать только по прямому назначению.

Лэйаут я и ручками заскриптовать смогу.

#7
23:39, 19 фев. 2016

Barabus
У меня подобная реакция была ))

#8
22:58, 21 фев. 2016

Barabus
> Офигеть. Не, ну его нафиг, этот UI. Его лучше использовать только по прямому
> назначению.

Принципиально отличие объектов UI от просто спрайтов: спрайты - независимые объекты и рендерятся независимо, а за рендеринг объектов UI отвечает Canvas.

Если на экране 1000 спрайтов, из них 100 двигаются постоянно, а остальные 900 если и двигаются, то очень-очень редко, то движок в каждом кадре будет пытаться всю эту кучу из 1000 объектов сбатчить вместе. Малоподвижные спрайты имеет смысл запихнуть внутрь Canvas ― они один раз сбатчатся и больше не будут расходовать процессор, пока внутри Canvas не случится каких-нибудь изменений.

Если всю игру делать на UI, то имеет смысл создавать несколько Canvas: один для объектов, которые меняются постоянно; второй для редко изменяемых.

#9
23:18, 21 фев. 2016

alexzzzz
Ну в Match 3 не особо много объектов. Правда на каждом ходе происходит создание и удаление пачек объектов.

> Малоподвижные спрайты имеет смысл запихнуть внутрь Canvas ― они один раз
> сбатчатся и больше не будут расходовать процессор, пока внутри Canvas не
> случится каких-нибудь изменений.
Это учту, спасибо.

Кстати, насколько хорошо Image дружит со анимацией? Не будет ли тут просадки производительности.

ПрограммированиеФорумОбщее

Тема в архиве.