iOS用のopenGL ESベースのアプリケーションに取り組んでいます。これまでのところ順調に進んでいますが、Instrument によると、CPU が GPU で待機する場合があるとのことです。この警告は一貫していません。警告が表示されるときは、デバイスの向きを変えたり、ズームしたりすると発生するようです。アプリでは、どちらのケースでも layoutSubviews 呼び出しがトリガーされ、(ビューのフレームに変更がある場合)、フレーム バッファーのサイズが次のコードによって更新されます。
[_context renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer*)self.layer];
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &_framebufferWidth);
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &_framebufferHeight);
glViewport(0, 0, _framebufferWidth, _framebufferHeight);
次に、描画コールバックで一様行列が更新され、次の呼び出しで描画が完了します。
glClear(GL_COLOR_BUFFER_BIT);
glDrawElements(GL_TRIANGLE_STRIP, sizeof(indices)/sizeof(indices[0]), GL_UNSIGNED_SHORT, 0);
[_context presentRenderbuffer:GL_RENDERBUFFER];
ビューサイズの変更がある場合、 glClear 呼び出しが警告の原因のようです。正直なところ、この警告は視覚的な影響はありませんが、修正したいのですが、方法がわかりません。この質問で、私は試してみるべきことについて何らかのガイダンスを得たいと思っていました. 何か案が?