Anton Nadtoka: Вы имеете в виду четыре текстуры. Даже если загружать по кусочкам, то в видеопамять всё-равно придётся передавать всю собранную текстуру целиком. Т.е. вам надо 4 отдельных текстуры.
А ещё попробовать использовать какие-нибудь из форматов сжатия.
Спасибо за ответ. Имелось ввиду именно передача в GPU текстуры. Думал есть возможность не передавать полную текстуру - чтобы в клиентской части не выделять всю память под текстуру. Понял, что других вариантов нет - сейчас использую общий буфер на 16мб для всех текстур.
Anton Nadtoka: Один раз 16 мегабайт не так уж и много даже для мобилок.
Если стиль графики позволяет, то может есть смысл разбить на несколько атласов с меньшим количеством цветов и/или без альфа-канала. Если загружать текстуру в формате RGB4444, то будет 8 мегабайт занимать, но качество картинки ооочень сильно пострадает, если специально не подготовишь текстуру.
Anton Nadtoka: ETC1 не сжимает с альфа-каналом. Если альфа-канала нет, то уже сейчас можно загружать в RGB888 или RGB565 и занимать 12 или 8 мегабайт.
Ещё на хабре есть статья (моя), как сделать палитризованные текстуры с прозрачностью. 2048*2048 будет занимать 4 мегабайта.