У меня есть склонность забывать, какие вызовы являются избыточными или нет, но я могу прокомментировать то, что вижу в моем ограниченном тестировании, здесь.
Вам нужно всего лишь один раз вызвать glViewport()
при настройке вашегосцены, если вы не отрисовываете за кадром в FBO другого размера.В этом случае вы будете использовать glViewport()
для сброса размера при переключении между кадровыми буферами.
Аналогично, вам нужно будет использовать glBindFramebufferOES()
только один раз при настройке, если вы не собираетесьпереключить FBO, которые вы отображаете, или перестроить текущий FBO из-за изменения размера представления.
В моем примере приложения я обнаружил, что glBindRenderbufferOES()
необходимо использовать перед -presentRenderbuffer:
в каждом кадреили ничего не отображается.Возможно, я просто что-то настраиваю в неподходящее время.
Я обойду NDA, сказав, что вы, возможно, захотите заглянуть в Xcode 4, где может быть или не быть новый инструмент в инструментах, которыеможет помочь указать на эти избыточные вызовы OpenGL ES.Гипотетически.