状態変化の回数を最小限に抑えるには、メッシュの描画順序をソートする必要があります。とにかく、複数のシェーダーを使用する複数のメッシュがある場合は、頂点属性のバインディングまたはシェーダーの均一なパラメーターのいずれかによる並べ替えを選択する必要があります。
何を選べばいいですか?GPU キャッシュのヒット率が高いため、頂点属性の変更を最小限に抑えることを選択する必要があると思いますが、シェーダーの変更コストについてはわかりません。描画順序を決定する際の一般的な懸念事項は何ですか? これを選択する根拠を得ることができますか?
PS。iOS/PowerVR SGX チップをターゲットにしています。
編集
多くのメッシュは少数のマテリアルしか使用しないため、マテリアル別に並べ替えることにしましたが、描画するメッシュはたくさんあります。これは、メッシュを共有するよりもマテリアルを共有する機会が増えることを意味します。そのため、状態変更回数を減らす可能性が高くなります。とにかくよくわからないので、もっと良い意見があれば教えてください。