少し前にeglSwapBuffers
、デバイスログに次のメッセージが表示されて電話がフリーズするという問題に遭遇しました。
W/SharedBufferStack( 1110): waitForCondition(LockCondition) timed out (identity=28, status=0). CPU may be pegged. trying again.
この問題に関する議論をウェブ全体で見てきましたが、効果があることがわかった唯一の解決策はglFinish
afterを呼び出すことeglSwapBuffers
です。ただし、この解決策ではフレームレートが 10 ~ 20 も低下し、許容範囲からはほど遠いものになります。
問題が開かれており、ここで見つけることができます
正方形のテクスチャを使用すると問題が解決したと誰かがコメントしました。2 乗では、最初は彼が 2 の累乗のテクスチャを意味していると思っていましたが、2 の累乗以外のテクスチャを使用していないことを確認し、問題を解決していないことを確認した後、彼は実際には一致するテクスチャを意味していたのではないかと考え始めました。幅と高さ?
Android 2.3.3 を搭載した HTC Desire でテストしています。将来のバージョンではこの問題は修正されているはずですが、2.3.3 が非常に多くのデバイスにインストールされているため無視できないというコメントがありました。
とにかく、これについて何か考えがある人はいますか?タイトルの出荷が近づいていますが、この問題はスケジュールを脅かしています。