私は配列から値を描画するためにOpenGLを使用します。値は3つのAndroidセンサーからのものです。私は値を収集している間、レンダラーを回したい。同時に描画と収集には差分があるようですので、センサ値を収集しながらレンダリングをオフにしたいと考えています。現時点では、描画を停止するためにondraw()でbooleanを使用します。しかし、これを行うよりよい方法はありますか?私が描くのをやめてしまうと、ちょっとジッタを拾うようなことが起こるかもしれませんが、描画がないのでできません(ondraw(){if(boolean){........ 。}} 時間のためにondraw()のOpenGLを停止する最善の方法
は、私が提案を持って
2
A
答えて
5
GLSurfaceViewには、setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY)
で尋ねられたときに描画するよう依頼することができます。描画する準備ができたら、requestRender()
を呼び出します。
1
:-)あなたの助けのためにどうもありがとうございます:センサデータを収集するためのスレッドを作成し、オブジェクトとして、それを利用可能にします。このスレッドはすべてのデータを収集し、パブリック値オブジェクトで同期します。ブロッキング時間を最小限に抑えることができます。
collectLocalData = getData();
synchronized(pubData) {
pubData.set(collectLocalData);
}
ローカル消費用のパブリック値をコピーするときに、レンダリングスレッドは同じことができます。
センサーのポーリングにレンダリング時間よりも時間がかかる場合、同じデータが複数回レンダリングされます。アニメーションはちょっとしたものになるかもしれませんが、データが表現するものよりもそれほどです。
PS:ジッタは、コードではなくデータそのものの結果かもしれません。
関連する問題
- 1. iOSプログラミングの時間を一時停止する方法
- 2. WCF、ビルド時に停止するlog4netファイルの停止方法
- 3. WaveAudioStreamの一時停止/停止時の待ち時間
- 4. C#一定時間後にプログラムを停止する方法は?
- 5. デバッグのためにJavaでシステムを一時停止する方法は?
- 6. アプリケーション全体を一時停止/休止するためのフレームワーク
- 7. Javaでスレッドを停止、一時停止、キャンセルする方法
- 8. プロジェクト間で休止状態の設定を共有する最善の方法
- 9. Railsアプリケーションにajaxifyするための最善の方法は?
- 10. 一時停止ボタンが押されたときにプログラムの実行を一時停止する方法
- 11. スレッドを一時停止する方法
- 12. このアプリケーションを実装するための最善の方法
- 13. OpenGLシェーダでNaNを検出する最善の方法
- 14. OpenGLでキューブをテクスチャリングする最善の方法
- 15. iPhoneの画面を埋めるためにビューを一時的に展開する最善の方法
- 16. UITextViewをスクロールするためにUITextViewを停止する方法
- 17. C#今日の2つの時間を比較する最善の方法
- 18. actionscriptの行間の一時停止
- 19. スレッドの一時停止/再開方法
- 20. マウス停止時の検出方法
- 21. 最初の項目の上にスクロールリストビューを停止する方法?
- 22. QMLで最後のフレームのビデオを一時停止する方法は?
- 23. Androidで長時間実行されるサービスのための最善のアーキテクチャ
- 24. コントローラ間でデータを管理するための最善のオブジェクトアーキテクチャ
- 25. 実行中にorg.quartz.JobDetailを停止する時間を決定する方法は?
- 26. 特定の時間の後にスレッドを停止する
- 27. サイクルの終了時にアニメーションを停止する方法は?
- 28. 編集時にグリッドビューエンコーディングのテキストを停止する方法
- 29. 2秒間javascriptコードの実行を一時停止する方法
- 30. 設定した時間後にスクリプトを停止する
「ジッタ」とはどういう意味ですか?フレーム間で前後に動きます...ちょっと "振動する"? –