私が開発しているアプリでは、静的な2D画像である大規模な(約1M個の)頂点が表示されます。メモリの制限の問題のために、ユーザーがスクロールまたはズームするたびに新しいデータでVBOを埋めて、イメージ全体が「存在する」という印象を与えています。 このアプローチには2つの問題があります。1)応答性は「十分に良い」ですが、スクロールズームを高速化し、不安定にすることができればよいでしょう。 2)私は1回の描画で64kの頂点の限界に固執していました。これは、一度にどれだけの画像を表示できるかを厳しく制限しています。画像の多くを見ることができれば、あるいはそのすべてを同時に見ることができればうれしいでしょう。私たちは試作段階にあり、限界を克服するためにデータを設定しているため、現時点でのパフォーマンスは十分ですが、製品レベルに移行するためには、この制限をなくす必要があります。2D OpenGL ESアーキテクチャ
最近、私は、 "android:largeHeap"オプションを使用すると、モトローラXoomで256 MBのヒープスペースが得られることを発見しました。つまり、画像全体をVBOに保存できます。私の理想的な世界では、単にOpenGLエンジンにVBOを渡し、カメラが動いたことを伝えるか、glScale/glTranslateを使ってズーム/スクロールします。
私の質問は正しいですか?私はいつもチャンクのすべてを "描き"、OpenGlに実際に見られるものを見つけさせるか、またはどのチャンクが自分自身に見えるかを理解させるべきでしょうか? gluLookAtとglScale/glTranslateのようなものを使用する場合の違いは何ですか?
アスペクト比の歪み(画像は数学的に生成され、写真ではありません)は気にしませんが、それよりもはるかに広く、将来的には頂点数が大幅に増える可能性があります。 60M)。御時間ありがとうございます。
"同時にすべてを見る"携帯電話で30Mbpsの30Mbpsレンダリングが強い要件ではないことを願っています。最小ズームを制限して、細かい劣化(詳細レベル)を提供することで、60Mを削減する必要があります – Calvin1602
@ Calvin1602いいえ、それは必須条件ではありません。 :-) –
うまくいけば、2番目の画像にはタイプミスがあることは明らかでした。右のチャンクは「チャンクn」とラベル付けされているはずです。 –