Вы абсолютно можете сделать фоновую загрузку в потоке.Некоторые из ключевых моментов: - Вероятно, выигрыш в переносе настройки состояния OGL в фоновый поток не так уж и велик - общий объем изменений, которые вы бы вызвали в контексте до начала первого розыгрыша, не суммируется стонна времени.Фоновая загрузка полезна для текстур и VBO, а также для времени загрузки, которое должно произойти в первую очередь, чтобы получить данные для подачи в GL.- Вам нужно будет отсоединить контекст от основного потока и переместить его в рабочий поток.Мы делаем это, используя pthreads, чтобы «отправить» контекст работнику.- При нашем использовании мы скрываем представление GL, чтобы гарантировать, что его не нужно рисовать в состоянии загрузки.(Честно говоря, во время загрузки он может не содержать ничего полезного.) Таким образом, во время асинхронной загрузки весь видимый пользовательский интерфейс не является GL-какао.
Этот подход сложнее, чем на рабочем столе: просто делитесь объектамив двух контекстах (так что вы можете загружать и рисовать одновременно).Когда мы рассматривали этот подход более года назад, это было невозможно на IOS;сейчас это возможно, я не знаю.