OpenGLでオブジェクトをレンダリングしていて、ほとんどの状況で60fpsの素敵な滑らかなフレームレートが得られました。 私はバックグラウンドスレッドで何か重いことをやっています。これは、REST APIからのものを取り出して処理し、グラフにオブジェクトを追加することです(優先度の低いもの、UIの流動性が気になります)。レンダラは非常に長い時間、1秒まで(バックグラウンドスレッドが実行されている間)、一時停止し、何も起こらなかったかのように再開します。これはアニメーションが同時に開始されていることに気付きました。この間、アニメーションが止まってしまいました。バックグラウンドスレッドは最小優先度に設定されており、ガベージコレクションは100〜200ミリ秒を要しますが、全体ではありません。バックグラウンドタスクのどこにでもデバッグポイントを設定すると、レンダリングは遅れずにきれいに続きます。Android:OpenGLレンダリングは、重いバックグラウンドタスクが実行されているときに一時停止します
重いバックグラウンドスレッドがOpenGLスレッドを飢えさせる可能性はありますか?もしそうなら、私は何ができますか?
どのGPUでテストしていますか? –
[this performance trace](http://stackoverflow.com/q/9612959/1262542)のように疑わしい... –
ダンノー何GPU、それはギャラクシーネクサスです。家に帰ると、シミュレータでテストするつもりです。 – manmal