37

少し前にeglSwapBuffers、デバイスログに次のメッセージが表示されて電話がフリーズするという問題に遭遇しました。

W/SharedBufferStack( 1110): waitForCondition(LockCondition) timed out (identity=28, status=0). CPU may be pegged. trying again.

この問題に関する議論をウェブ全体で見てきましたが、効果があることがわかった唯一の解決策はglFinishafterを呼び出すことeglSwapBuffersです。ただし、この解決策ではフレームレートが 10 ~ 20 も低下し、許容範囲からはほど遠いものになります。

問題が開かれており、ここで見つけることができます

正方形のテクスチャを使用すると問題が解決したと誰かがコメントしました。2 乗では、最初は彼が 2 の累乗のテクスチャを意味していると思っていましたが、2 の累乗以外のテクスチャを使用していないことを確認し、問題を解決していないことを確認した後、彼は実際には一致するテクスチャを意味していたのではないかと考え始めました。幅と高さ?

Android 2.3.3 を搭載した HTC Desire でテストしています。将来のバージョンではこの問題は修正されているはずですが、2.3.3 が非常に多くのデバイスにインストールされているため無視できないというコメントがありました。

とにかく、これについて何か考えがある人はいますか?タイトルの出荷が近づいていますが、この問題はスケジュールを脅かしています。

4

1 に答える 1

1

私もこの問題に遭遇しました。以前はアプリケーションを再インストールしましたが、うまくいきました。そうでない場合は、デバイスを再起動するだけです。この問題は、OpenGLES の内部の問題に関連しています。次のリンクを参照してください。 ペグされる」バグ

于 2013-01-17T11:35:59.700 に答える