В настоящее время я играю с NDK на Android и OpenGL ES 2.0. Мне интересно, можно ли и как можно загрузить текстуру OpenGl, чтобы я мог избежать полной несжатой текстуры в куче приложения перед тем, как предоставить ее OpenGl. Итак, то, что я хотел бы сделать (упрощенное), читать 512 КБ из памяти в ОЗУ, а затем передать эти 512 кб в OpenGl, а затем загрузить следующий 512 КБ в ОЗУ и т. Д. Поэтому объем памяти для текстурной загрузки всегда должен быть вокруг 512Кб. Тем не менее, во всех примерах OpenGL я вижу, что люди, как правило, загружают ВСЕ необработанные данные изображения в ОЗУ (64 МБ для текстуры 4096х4096х32 бит!), А затем копируют все данные в OpenGl сразу. Наличие пика памяти размером 64 МБ просто для загрузки текстуры !!: -Я еще больше удивляюсь, как мне кажется, что приложение, написанное в java, запущенном внутри виртуальной машины Dalvik, обычно имеет только 16 Мб доступной памяти кучи - так как им удается даже загружать текстуру в OpenGL? Я что-то элементарно не хватает здесь?OpenGl ES 2.0 Загрузить текстуру junkwise
Большое спасибо и наилучшие пожелания Samuel
С 2009 года у приложений не было допустимого ограничения на кучу 16 МБ. Тем не менее, 64 МБ - довольно большой объем данных для одной текстуры на мобильном устройстве, и было бы лучше использовать сжатый формат текстуры. – fadden