ステートソート
ドローコールを並べ替え、同じシェーダー・テクスチャ・レンダーステートを共有するオブジェクトをまとめて描くことで、高価なGPUステート切り替えを1フレームあたり最小限に抑える手法。
レンダラーがシェーダー、ブレンドモード、バインド済みテクスチャ、頂点フォーマットを切り替えるたびに、ドライバーはパイプラインの再検証と再設定をしなければならない。これは1フレームの中でも最も高くつく処理の1つだ。ステートソートは、そのフレームのドローコールを複合ソートキー(レイヤー、マテリアル、深度の順に64ビット整数へ詰めることが多い)でグループ化し、GPUのステート切り替えをできるだけ減らす。
考え方自体は現代的なAPIより古く、Christer Ericsonが2008年に書いた「order your graphics draw calls」が標準的な参考文献になっている。不透明なジオメトリは、アーリーZを活かすため、マテリアル内で手前から奥へ並べるのが普通である。半透明は正しいブレンドのため奥から手前に並べる必要があり、これはグループ化とぶつかる。