2011-07-31 8 views
0

私のゲームは、テクスチャの最大サイズがわかっているので、すでに1024x1024のアトラスで構成されています。問題は、これらの1024x1024テクスチャのうち、さらに約1-2個が必要なことです。それは私に3つのglBindTexture()呼び出しを与えるはずです。私はまだ他の問題を抱えているので、まだテストしていませんが、かなりの量のアプリケーションが遅くなりますか?別の解決策がありますか?Androidのopengles glBindTexture()コール

+0

3つではありません'glBindTexture'は大きなパフォーマンスのドラッグになります。少なくともあなたが心配すべき範囲にはありません。 –

答えて

1

パフォーマンスの低下が懸念される場合は、アプリケーションのボトルネックがどこにあるかを実際に確認できるようにアプリケーションのプロファイルを作成し、ひどいと判明した場合に戻ってくることをおすすめします。

3つの大きなアトラステクスチャは、何度も繰り返しバインドする小さなテクスチャよりも優れています。

1

現在のところ、私のゲームには6つの512x512テクスチャのアトラスがありますが、これまでどんな電話でも画面を読み込む必要はありません。バインドをたくさんする場合は、すべての頂点を1つのGPUに送信するBatcherクラスを作成するとよいでしょう。

+0

私は現在、すべての頂点を描画(追加)した後、最終的にglDrawArray/Elementsを呼び出すバッチャーを使用しています。これまでのところ、ドローコールをあまり必要としないので、これはパフォーマンスに最も大きな影響を与えました。 – semajhan

+0

ドローコール回数が少ない場合でもパフォーマンスに影響はありませんが、少し時間がかかります – Chris