ダイナミックバッチング (Dynamic batching)
動く小さなメッシュを毎フレームCPUで結合してドローコールを減らす手法で、効果があるのはメッシュが極小のときだけ。
スタティックバッチングは動くオブジェクトには使えない。頂点を絶えず結合し直す必要があるからだ。動的な方式はまさにそれをやる。毎フレーム、エンジンが同じマテリアルの小さなメッシュの頂点を1つのバッファへ変換し、1回の呼び出しで描く。結合が毎フレームCPU上で行われるため、頂点ごとの変換コストが節約できるドローコールのオーバーヘッドより小さい場合にしか元が取れない。エンジンが頂点数に厳しい上限を課すのもそのためだ(Unityでは約300頂点)。同一の小さなオブジェクトが多数あるなら、頂点に触れずに1つのメッシュからコピーを描けるGPUインスタンシングのほうが、たいていは良い道具である。