最近、GLSurfaceView に setDebugFlags メソッドがあることを発見しました。
Google cardboard 対応のアプリで試してみますが、有効にすると次のようになります。
cardboardView.setDebugFlags(GLSurfaceView.DEBUG_CHECK_GL_ERROR | GLSurfaceView.DEBUG_LOG_GL_CALLS);
何も起こらないようです (まあ、私のアプリは OpenGL ES に完全に対応しており、エラーはありませんが、なぜ OpenGL トレースが表示されないのadb logcat
でしょうか?)。
私は電話をかけてみました:
- setRenderer の前に
- setEglContext の前に
- Renderer.onSurfaceCreated のすぐ内側 (レンダラー内に
GLSurfaceView
参照を持ち込む醜い回避策があります...) - setRenderer の初期化の 1 秒後 (私は永続的な bas..rd であるため:))
ログが有効になり (「デバッグ」レベルまですべてを確認できます)、それ以外の場合、アプリは正常に動作します。
何が起こっているのかを知る手助けがあれば大歓迎です!
ありがとう