2

OpenGL アプリケーションの問題をデバッグしようとしていて、Android OpenGL Tracer を使用して詳細に調べたいと考えていました。Tracer は最初は正常に動作しているように見え、いくつかのデータを収集しますが、トレース ファイルを開こうとすると、次のエラーが発生します。

OpenGL トレース ファイルの解析中にエラーが発生しました

メッセージに必須フィールドがありませんでした。(Lite ランタイムは、欠落しているフィールドを判別できませんでした)。

これは、この特定のアプリケーションでのみ発生し、他のアプリケーションでは発生しません。大きな違いは、このアプリケーションが OpenGL ES 3 を使用していることです。

トレーサーと OpenGL ES 3.0 に一般的な問題はありますか? このエラーの回避策はありますか?

4

1 に答える 1

1

私は自分でこのエラーに遭遇し、解決策を見つけました。AndroidManifest.xml で、次のタグのバージョンを使用します。

<uses-feature android:glEsVersion="0x00030000" android:required="true"/>

私のバージョンは次のようになります(覚えておくべきメモがあります):

<!-- Tell the system this app requires OpenGL ES 3.1. -->
<!-- NOTE: This must be correct for the OpenGL ES Tracer to work properly -->
<uses-feature android:glEsVersion="0x00030001" android:required="true"/>

公式ドキュメント ページを参照してください: https://developer.android.com/guide/topics/graphics/opengl.html#manifest

このページには、値に関する詳細も記載されています: https://developer.android.com/guide/topics/manifest/uses-feature-element.html

ANDROID:GLESVERSION アプリケーションが必要とする OpenGL ES のバージョン。上位 16 ビットはメジャー番号を表し、下位 16 ビットはマイナー番号を表します。たとえば、OpenGL ES バージョン 2.0 を指定するには値を「0x00020000」に設定し、OpenGL ES 3.2 を指定するには値を「0x00030002」に設定します。

于 2016-06-15T18:37:44.830 に答える