2015-08-19 2 views
1

Объект UI Image (http://docs.unity3d.com/Manual/script-Image.html) имеет атрибут Material и Source Image.Unity3D: UGUI Преимущества применения материала к пользовательскому интерфейсу Элементы изображения

Два вопроса:

  1. Если я просто рендеринг равнины квадратного однотонные элемента в моем UI (т.е. фона или не округленные кнопки) есть какие-либо преимущества для установив не- null исходное изображение? Я подумал, что, возможно, добавление белого «наполнителя» спрайта, прикрепленного к центральной карте спрайтов, может уменьшить призывы рисования или что-то в этом роде, но кажется, что он не имеет никакого эффекта или просто оставляет значение спрайта null.

  2. В одном и том же квадрате сплошного цвета, есть ли какая-либо польза для использования не нулевой Материал? Как и в, являются ли шейдеры UI по умолчанию, предоставленные Unity, дополнительным значением производительности только с использованием нулевой настройки?

ответ

1

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

2) Да, я написал два специальных супер простых шейдера: один для невидимых изображений (используется для скрытых кнопок) и один для непрозрачных изображений. Это значительно улучшило производительность в тестовом сценарии с 12 перекрывающимися непрозрачными изображениями на iPad 3 с 26 мс до 4 мс времени рендеринга кадра, что является массовым увеличением от 38 FPS до теоретических 250 FPS.

+0

Можете ли вы ссылаться на все, что поддерживает # 1? Я видел спрайт «наполнитель», используемый в различных активах, и еще что-то, но я не могу ни в одном реальном тесте проверить, что это влияет на процесс дозирования. Нет смысла делать это, если польза не может быть доказана ... пахнет некоторыми старыми школьными приемами, задерживающимися в том, что вполне может быть ненужным в Unity5.x. Что касается №2, звучит сексуально ... Я займусь этим. – slumtrimpet

+0

yes to # 1: если у меня есть 11 спрайтов без изображения и 1 спрайт с изображением между ними. вы можете увидеть в отладчике рамки, что он создает 3x «Draw Mesh», но если все изображения находятся в одном атласе, это всего лишь 1x «DrawMesh». – JeanLuc

Смежные вопросы