1

こんにちは、キャンバスの代わりに OpenGL を使用するように Android アプリを作り直していました (非常に遅いため)。タイル シート (アトラス テクスチャ) を使用しているので、VBO または draw_texture を使用する方が速いのではないかと考えていました。作物を次のように設定します。

// Crop our texture
((GL11) gl).glTexParameteriv(GL10.GL_TEXTURE_2D, GL11Ext.GL_TEXTURE_CROP_RECT_OES, cropRect[cropIndex], 0);
gl.glColor4f(1, 1, 1, 1);

Chris Pruett の話をしばらく聞いた後、draw_texture が個々のスプライトで間違いなく最速であることがわかりましたが、アトラスをトリミングしている場合、これはまだ真実ですか?

4

1 に答える 1

2

VBOまたはdraw_textureを使用する方が速いでしょうか

アトラス テクスチャを使用して描画する

彼がこの手法を使用している理由を説明する「タイル張りの世界」を使用していることに注意してください。タイル化された世界を使用していない場合は、おそらく を使用する必要がありますdraw_texture

Chris Pruett の話をしばらく聞いた後、draw_texture が個々のスプライトで間違いなく最速であることがわかりましたが、アトラスをトリミングしている場合、これはまだ真実ですか?

常にではない。多くのスプライトを含む大きなアトラス テクスチャを使用している場合、glTexParameteriv()関数の負荷が高すぎます。使用するスプライトの数が少ない場合は、glTexParameteriv()関数の呼び出し回数にもよりますが、おそらく高速になります。

于 2011-04-01T18:48:41.473 に答える