3

非常に大きな画像をマップとして使用するマップ アプリを作成しました。ユーザーがある程度ズームインすると高解像度のタイルが表示され、50% を超えてズームアウトすると画像全体の低解像度ビットマップが表示されます。私の元のドロイドでは、新しいタイルがガベージ コレクターに出入りするため、非常にわずかな遅延が見られることがあります。

私は今、OpenGL ES がどのようにレンダリングするより良い方法になるかを考えています。これまで触れたことはありませんが、さまざまなチュートリアルで読んでいたことから、8面程度のクワッドを作成し、カリングを有効にして、現在画面に表示されている画像のみを描画できるようです.

これでラグは完全になくなりますか?私のテストアプリでは、アプリの起動時にタイルが読み込まれていますが、ラグはそれらのタイルが初めて描画されたことが原因であることがわかります。ありがとう。

4

1 に答える 1

4

私は OpenGL ベースのマップ ビューを作成しました。残念ながら商用プロジェクトのため、コードを提供することはできません。ただし、1 つのレンダリング スレッド、8 つのタイル ダウンロード スレッドのプール、および (あなたの質問に最も関連する) 1 つのストレージ スレッドがあり、NAND フラッシュまたは SD カードにタイルを読み込んで保存することがわかります。レンダリングは一度に 1 つのタイルで行われ、各タイルは 2 つの三角形です (ES には四角形はありません)。相変わらず爆速です。

于 2010-11-20T22:50:30.023 に答える