Привет, есть много правил которые нужно выполнять для оптимизации. Но еще больше есть мнений по этому поводу, по этому я дам совет, который может не удовлетворить других участников форума)
Все зависит непосредственно от геометрии, есть 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 большая и всегда весит в памяти но, я бы спросил их, как объединять пакетирование с отдельными текстурами без геморроя и программирования?)