Разрешение текстур на андроиде

Раздел, посвящённый самому важному - скорости.

Разрешение текстур на андроиде

Сообщение Shakhban 18 май 2019, 10:43

Какой размер текстур использовать если,
у меня в игре 3d модельки, каждая на 200-500 треугольников, на сцене максимум штук 20, какие текстурки на них вешать? оптимизировано ли вешать на них текстурки 2048х2048, если игру делаю под андроид? и еще, на что влияет размер текстур, в смысле на озу, процессор, итд.

И был ли у вас опыт в этом?
Shakhban
UNIт
 
Сообщения: 62
Зарегистрирован: 01 ноя 2017, 04:33

Re: Разрешение текстур на андроиде

Сообщение Kabanelloo 29 дек 2019, 22:59

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

Все зависит непосредственно от геометрии, есть 2 типа Динамическая и Статическая и их вы будите разделять обязательным порядком.
Динамическая геометрия по сути самая сложная для мобилки и оптимизация довольно не простая, по этому чтобы разгрузить GPU вы используете отдельный атлас текстур чем меньше тем лучше.
Все текстуры используемые в игре делятся на 3 - 4 основных атласа текстур, где атлас - это упакованные текстуры в 1 файл:

1) Статические объекты до 2048 разрешением.
2) Динамические аналогично отдельным атласом и желательно до 1024 разрешения с поддержкой экземпляров объектов из Shader.
3) Интерфейс атласы, 512 - 1024.
4) Карта света для статических объектов до 1024 - 2048 разрешением и желательно иметь такую карту 1 штуку на 1 уровень, в крайнем случае 2.

Если со статической геометрией все понятно, то с динамикой гораздо сложнее и объяснять почему нет смысла, все можно почитать на основном сайте https://docs.unity3d.com/Manual/DrawCallBatching.html.
Использовать отдельные текстуры и материалы не рекомендуются, так как их пакетирование будет повышать количество вызовов отрисовки, что приведет к падению частоты кадров.

Вообще не советую использовать уникальные текстуры. Используйте палитры, градиенты и разворачивайте свою геометрию на текстуру с разрешением 128 пикселей и радуйтесь простоте и оптимизации.

Все, что отвечает за визуализацию попадает в память GPU, когда просчет геометрии и физики всяких скриптов идет на CPU. Но когда происходит копии экземпляров через Shader, то геометрия попадает в память GPU, еще много разных возможностей, все стараются разгрузить CPU и максимально распределять загруженность. Но скорее всего все ресурсы лежат в Озу, чтобы быстро получать доступ к ним.

Но кто-то бы сказал лучше много маленьких текстур чем 1 большая и всегда весит в памяти но, я бы спросил их, как объединять пакетирование с отдельными текстурами без геморроя и программирования?)
Последний раз редактировалось Kabanelloo 29 дек 2019, 23:52, всего редактировалось 1 раз.
Kabanelloo
UNITрон
 
Сообщения: 163
Зарегистрирован: 03 фев 2012, 21:55
Откуда: Kaliningrad/Crimea

Re: Разрешение текстур на андроиде

Сообщение waruiyume 29 дек 2019, 23:22

Динамическая геометрия по сути самая сложная для мобилки

В чём принципиальное от статичной?
то с динамикой гораздо сложнее и объяснять почему нет смысла

Мне это напоминает небезызвестную картинку
Скрытый текст:
Изображение

все можно почитать на основном сайте Unity

Можно ссылку?

А у мобилок разве есть отдельная видеопамять?
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Разрешение текстур на андроиде

Сообщение Kabanelloo 29 дек 2019, 23:49

waruiyume писал(а):
В чём принципиальное от статичной?

то с динамикой гораздо сложнее и объяснять почему нет смысла

Ну допустим пакетировать не удобно динамику разве, что экземплярами, не так чихнешь и 30 вызовов отрисовки)

Можно ссылку?

Да конечно, обновлю.

А у мобилок разве есть отдельная видеопамять?

Ах точно, подловили. :| , я не точно знаю все о железе но, имею представление.


[unity 3D]
Kabanelloo
UNITрон
 
Сообщения: 163
Зарегистрирован: 03 фев 2012, 21:55
Откуда: Kaliningrad/Crimea


Вернуться в Оптимизация

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

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