Я выполняю рендеринг с использованием OpenGL ES на главном экране iPad (или iPhone, iPod Touch), и мне хотелось бы выполнять рендеринг на внешнем экране, когда содержимое «переходит» на внешний экран, как толькопользователь подключает один (и возвращается к главному экрану, когда внешний экран отключен).Я использую библиотеку, которая делает вызовы OpenGL (по крайней мере те, которые не зависят от платформы, то есть не интегрируются, как EAGL и CAEAGL), но имеют небольшое состояние.Каков наилучший способ (с точки зрения производительности, а затем обслуживания) сделать это?
- Я не думаю, что это поддерживается, и даже если бы это было так, я не думаю, что этоРекомендуется просто переместиться поверх представления, поддерживаемого CAEAGLL, в новое окно
- В противном случае у меня есть две возможности рисования.Должен ли я сохранить один EAGLContext, отсоединить его от слоя CAEAGLL основного экрана и прикрепить его к слою CAEAGLL внешнего дисплея (и наоборот, когда пользователь отключает внешний дисплей)?
- Должен ли я иметь два контекстаи попытайтесь использовать один и тот же экземпляр библиотеки-оболочки (который, следовательно, придется перенастроить, хотя в любом случае он должен был бы быть в некоторой степени, даже если бы я сохранил один контекст, из-за разного соотношения сторон экрана, соотношения сторон в пикселях и т. д.).)
- Должен ли я иметь два контекста и один экземпляр библиотеки-оболочки для каждого контекста (преимущество заключается в том, что я могу сделать экземпляр библиотеки ivar моего пользовательского UIView с поддержкой CAEAGLLayer).
- СледуетЯ использую два контекста, но использую группу общего доступа, чтобы некоторые ресурсы могли быть разделены?
Что рекомендует Apple (если есть одна рекомендация)?И как вы, ребята, сделали это (не говорите, что это необычная особенность!)?