私は現在、opengl ES 1.1 ゲーム、最小 sdk 8、ターゲット sdk 17 に取り組んでおり、アクセスできる 4.0.3 タブレットの eglSwapBuffers で異常に大きな遅延が見られます。これは、Android の新しいバージョンでも古いバージョンでも表示されません。 . また、幸運にも 2 台の Asus 変圧器 T101 にアクセスできました。そのうちの 1 台は Honeycomb を実行しているため、これがハードウェアの制限である可能性を排除できます。
次の表は、デバイスの数とそのパフォーマンスを示しています。
モデル OS FPS 最大/平均 eglSwapBuffer 時間 (ミリ秒) エイサー A500 4.0.3 12.5 70 /67 Asus T101 3.1 21.8 30/21 Asus T101 4.0.3 12.2 79/65 HTC One X 4.0.4 35.9 14/5 ネクサス 7 4.1.2 35.6 16/5 サムスン GTP1000 2.2 24.5 36/28
古いシングル コア GTP1000 でさえ、デュアル コア 4.0.3 デバイスの 2 倍のフレームレートを取得することがわかります。
2D キャンバス、GL、UI、および 200 ミリ秒ごとに AI を更新するハートビートの 4 つのスレッドを実行しています。GL スレッドでの eglSwapBuffers 呼び出しの間、CPU はほとんど何もしていません。ある種の省電力または GPU スロットリングをトリガーしているように感じますが、これに関する情報を見つけることができませんでした。
他のすべての操作にコストがかからない場合、スワップ バッファーにかかる時間だけでフレーム レートが 15FPS 未満に制限されます。フレームごとに 150 のテクスチャ トライアングル ストリップ クワッドを描画しています。
あなたが私を正しい方向に向けることができれば、私はわくわくする.