Оптимизация и минимизация draw calls в гуи

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Оптимизация и минимизация draw calls в гуи

Сообщение neozman 08 ноя 2013, 09:19

В общем, чтобы не захламлять свой проект, решил заняться оптимизацией. Вот прочитал, что тот же нгуи сделан на 1 дро колле, но совершенно не представляю, как это возможно?
neozman
UNIт
 
Сообщения: 94
Зарегистрирован: 23 июн 2013, 10:16

Re: Оптимизация и минимизация draw calls в гуи

Сообщение Nicloay 08 ноя 2013, 09:25

один дрокол, это когда все текстуры в атласе и все плейны в сцене используют один sharedMaterial. Но учти, если у тебя уже стандартный гуи , то перевести все на ngui будет достаточно не просто. и не достаточно обосновано.. Я например с своего гуи(похож на ngui) перешел на OnGUI получил 80 дроколов вместо одного. но загрузка CPU и GPU осталась примерно прежне, так что показатель drawCall -ов для гуи не особо важен в случае если ты не используешь guiLayout.
If you wish to make an apple pie from scratch, you must first invent the universe.(Carl Sagan, Cosmos)
| My Asset Store | coloring book | github | _wiki.unity3d.com | twitter | linkedin |
Аватара пользователя
Nicloay
Адепт
 
Сообщения: 1288
Зарегистрирован: 31 май 2012, 09:27
Откуда: Альпс
  • Сайт

Re: Оптимизация и минимизация draw calls в гуи

Сообщение neozman 08 ноя 2013, 09:39

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

Вообще, я использую gui, может стоит на guilayout перейти?
neozman
UNIт
 
Сообщения: 94
Зарегистрирован: 23 июн 2013, 10:16

Re: Оптимизация и минимизация draw calls в гуи

Сообщение Nicloay 08 ноя 2013, 09:51

наоборот, guilayout это лишний тяжелый проход каждый фрейм. насчет дроколов не заморачивайся и смотри в первую очередь на FPS (frame per second) с включеным гуи и выключеным, если будет невилика разница то и оптимизировать его не надо.
еще бонус OnGUI что ты все контролируешь через код, nGUI ты тоже можешь все через код, но он все же больше WYSIWYG редактор.
Последний раз редактировалось Nicloay 08 ноя 2013, 21:42, всего редактировалось 1 раз.
If you wish to make an apple pie from scratch, you must first invent the universe.(Carl Sagan, Cosmos)
| My Asset Store | coloring book | github | _wiki.unity3d.com | twitter | linkedin |
Аватара пользователя
Nicloay
Адепт
 
Сообщения: 1288
Зарегистрирован: 31 май 2012, 09:27
Откуда: Альпс
  • Сайт

Re: Оптимизация и минимизация draw calls в гуи

Сообщение Neodrop 08 ноя 2013, 20:04

дракулы в GUI не страшны. Смотрите статистику профайлера.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Оптимизация и минимизация draw calls в гуи

Сообщение neozman 09 ноя 2013, 10:55

еще бонус OnGUI что ты все контролируешь через код, nGUI ты тоже можешь все через код, но он все же больше WYSIWYG редактор.


Собственно, поэтому я и хотел раписать свой простенький гуи менеджер.

Тогда вопрос: допустим мне нужны разные виды кнопок, хотя я сделал гуискин, но приходится плодить структурки гуистайлов для каждой новой кнопки банально из-за своей текстуры. Нет ли более изящного способа?

И вообще, я пока не пробовал компилить проект под мобильные платформы, поэтому вопрос: билд сжимает текстуры пол размер экрана или мне придется все-таки вводить поправку на размер экрана каждого устройства?
neozman
UNIт
 
Сообщения: 94
Зарегистрирован: 23 июн 2013, 10:16

Re: Оптимизация и минимизация draw calls в гуи

Сообщение Medveckij 09 ноя 2013, 11:02

neozman писал(а):
еще бонус OnGUI что ты все контролируешь через код, nGUI ты тоже можешь все через код, но он все же больше WYSIWYG редактор.


Собственно, поэтому я и хотел раписать свой простенький гуи менеджер.

Тогда вопрос: допустим мне нужны разные виды кнопок, хотя я сделал гуискин, но приходится плодить структурки гуистайлов для каждой новой кнопки банально из-за своей текстуры. Нет ли более изящного способа?

И вообще, я пока не пробовал компилить проект под мобильные платформы, поэтому вопрос: билд сжимает текстуры пол размер экрана или мне придется все-таки вводить поправку на размер экрана каждого устройства?



Вы ведь указываете ширину и высоту выводимого GUI элемента в пикселях. Соответственно размеры элемента на мобиле будут относительны разрешения экрана устройства.

Не знаю на сколько способ верный, но в случае, если, к примеру вам нужно вывести на экран перечень кнопок с уникальной текстурой для каждого элемента, перед каждым выводом можно программно подгружать текстуру из папки resources на все состояния этого элемента. На производительность никак не влияет, проверял. Возможно это костыльный костыль, не могу знать наверняка.
Аватара пользователя
Medveckij
Адепт
 
Сообщения: 1014
Зарегистрирован: 10 ноя 2012, 15:44

Re: Оптимизация и минимизация draw calls в гуи

Сообщение Nicloay 09 ноя 2013, 11:11

neozman писал(а):Тогда вопрос: допустим мне нужны разные виды кнопок, хотя я сделал гуискин, но приходится плодить структурки гуистайлов для каждой новой кнопки банально из-за своей текстуры. Нет ли более изящного способа?

В кнопку же не только текст можно передавать но и иконку. Если цвет менять tint или bg для етого есть методы в GUI классе. Но если у вас сами текстуры краев разные то тут да. Стили плодить, но я не вижу в етом криминала. Главное чтоб двойной раьоты в этом не было.
If you wish to make an apple pie from scratch, you must first invent the universe.(Carl Sagan, Cosmos)
| My Asset Store | coloring book | github | _wiki.unity3d.com | twitter | linkedin |
Аватара пользователя
Nicloay
Адепт
 
Сообщения: 1288
Зарегистрирован: 31 май 2012, 09:27
Откуда: Альпс
  • Сайт


Вернуться в Почемучка

Кто сейчас на конференции

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