質問

マップとして非常に大きな画像を使用するマップアプリを作成しました。ユーザーがある程度ズームインしたときに高解像度のタイルが表示され、50%をズームアウトしたときに画像全体の低解像度ビットマップが表示されます。私の元のドロイドでは、それはうまくいきます。時々、新しいタイルがゴミコレクターに引き込まれているため、非常にわずかな遅れを見ることができます。

私は今、OpenGL ESがどのようにレンダリングするのにより良い方法になるかについて考えています。私は以前にそれに触れたことはありませんでしたが、私が異なるトリール類で読んでいたものから、8つの顔を持つクワッドを作成し、カリングを可能にして、現在画面に表示されている画像のみを描くことができるようです。

これは遅れを完全に排除しますか?テストアプリでは、アプリの起動にタイルがロードされていますが、ラグは初めて描かれたタイルが原因であると言うことができます。ありがとう。

役に立ちましたか?

解決

私はOpenGLベースの地図ビューを書いていますが、自分でそう言うなら、それは血まみれです。悲しいことに、それは商業プロジェクトのためのものなので、コードを提供できません。ただし、1つのレンダリングスレッド、8タイルのダウンロードスレッドのプール、および(質問に関連する)1つのストレージスレッドがあり、タイルをNANDフラッシュまたはSDカードにロードおよび保存することができます。レンダリングは一度に1つのタイルで行われ、各タイルは2つの三角形です(ESにはクワッドはありません)。それはまだ猛烈に速いです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top