Оптимизация: почему время важнее полигонов

В этом материале преподаватель курса OutBlock и левел-дизайнер VOID Interactive Денис Куандыков объясняет, как устроена оптимизация, и почему количество полигонов тут — не ключевой фактор.

Оптимизация: почему время важнее полигонов
242242

Одна из причин того, почему от художников требуют не текстурить объекты уникальными сетами отдельных текстур, а паковать их в огромные текстурные атласы — как раз в этом. Это позволяет отдать батчингу на обработку сотни разных визуально разных объектов, — ведь они будут отрисованы не отдельно, а группами.

Звучит как костыль. Почему не обучить движок сшивать текстуры в атласы?

Ответить

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

3
Ответить

Есть такая технология - мегатекстура от Кармака называется. Только что-то она не получила широкого распространения.

2
Ответить

У тебя два стула:
1) Уникальные текстурки для объектов, которые никак больше не применить
2) Зацикленные текстурки под кучу объектов, из которых на изи собирается атлас. Движком, руками - без разницы вообще. 

Третьего не дано. Кстати, движки юбиков начиная с одиссеи сами шьют атлас в мегатекстурку, но там это для правильного текселя на сколько я помню. 

2
Ответить

В Unreal недавно появилась: virtual texturing называется. Правда только для landscape

1
Ответить

Какой в этом смысл? 

Ответить

это и есть «преждевременная оптимизация» про которую автор статьи говорит не делать, в атлас текстуры бэйкнуть можно на финальной стадии или рантайм движком.

Ответить