Привязка другой текстуры может быть дешевле, чем вы думаете, в зависимости от вашей схемы использования, если вам повезет немного. Современные графические процессоры имеют более одного набора текстур, между которыми драйвер может переключаться относительно легко (см. Это несколько более длинное объяснение 1004 *). Особенно, если вы переключаетесь между умеренно изменяющимся набором плиток, велики шансы, что это не будет полный срыв.
Однако дело в том, что вы не знаете. Это может быть просто по-другому. Пока вы не знаете, вы должны принять наихудший случай, а не лучший.
Кроме того, страшный конвейер не является единственной вещью, которая, возможно, является дорогой в привязке текстуры. GL должен разыменовать по крайней мере два указателя (с высокой вероятностью пропуска кэша) и выполнять некоторые нетривиальные проверки согласованности объекта и всего состояния визуализации после привязки объекта.
Эти эффекты кэша и проверки согласованности являются проблемой, они являются причиной, по которой nVidia все еще работает над «графикой без привязки». Они называют его «новым узким местом».
Все это , вероятно, не имеет значения для 500 изменений состояния на настольном компьютере, но, как уже указывал Гоз, будет иметь значение для портативного устройства. Если ничего другого (т.е. даже если это не влияет на частоту кадров), это приведет к более быстрому разряду батареи.
Это жаль, потому что это совершенно не нужно, текстурный атлас прост в реализации и не требует никаких дополнительных затрат, а все необходимые вычисления тривиальны (поскольку вы не используете mipmaps).