私は配列から値を描画するために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. 計算時間を返すための最善の方法は何ですか?
- 2. iOSプログラミングの時間を一時停止する方法
- 3. 特定の時間にAVPlayerを停止する方法は?
- 4. 移行時間と停止時間の測定方法
- 5. WCF、ビルド時に停止するlog4netファイルの停止方法
- 6. WaveAudioStreamの一時停止/停止時の待ち時間
- 7. ループの中間反復を一時停止する方法
- 8. phpとjavascriptの00で時間カウンターを停止する方法
- 9. Androidタイマーで時間を表示する最善の方法
- 10. 長時間実行される非アクティビティクラスのためにアンドロイドのコンテキストを取得する最善の方法は?
- 11. 一時停止して再開できるモバイル用のアニメーションを作成する最善の方法OnClick
- 12. C#一定時間後にプログラムを停止する方法は?
- 13. 一定時間後にテクスチャスクロールを停止する方法
- 14. 指定時間後にタイマーを停止する方法
- 15. デバッグのためにJavaでシステムを一時停止する方法は?
- 16. アプリケーション全体を一時停止/休止するためのフレームワーク
- 17. 特定の時間の後にスクリプトの実行を停止する方法
- 18. OpenGLシェーダでNaNを検出する最善の方法
- 19. OpenGLでキューブをテクスチャリングする最善の方法
- 20. Railsアプリケーションにajaxifyするための最善の方法は?
- 21. プロジェクト間で休止状態の設定を共有する最善の方法
- 22. このアプリケーションを実装するための最善の方法
- 23. Javaでスレッドを停止、一時停止、キャンセルする方法
- 24. ウィジェットを隠す/表示するための最善の方法
- 25. エルムでの測定時間を一時停止する方法は?
- 26. パンダで値の間を補間する方法(列の最後のNaNの前後で停止する方法)?
- 27. Flash AS3、ループを数秒間一時停止する方法
- 28. 一時停止ボタンが押されたときにプログラムの実行を一時停止する方法
- 29. iPhoneの画面を埋めるためにビューを一時的に展開する最善の方法
- 30. 埋め込み済みのYouTube動画の一時停止後の読み込みを停止する方法
「ジッタ」とはどういう意味ですか?フレーム間で前後に動きます...ちょっと "振動する"? –