Draw Call (ドローコール)は、ゲームグラフィックスのレンダリングや最適化(テクニカルアート)において極めて重要となる技術用語です。CPUがグラフィックスカード(GPU)に対して、メッシュやマテリアルパラメータを指定して『この3Dモデルを描画せよ』と発行するAPI命令。

現実世界での例え:レストランの厨房(GPU)に対して、ウェイター(CPU)が『一皿ごとに往復して個別に注文を通す』非効率さ

Draw Call is, 「ホールのウェイター(CPU)が、厨房のシェフ(GPU)に対して『この料理(メッシュ)をこの味付け(マテリアル)で作って!』と大声で叫んで注文を通す1回のオーダー命令」です。もし、テーブル上の100個のミニトマト(オブジェクト)を並べるために、ウェイターが厨房へ100回往復し、1個注文するたびに『ミニトマト1個作って!』と叫んで(100回のドローコール)往復していたら、どれだけシェフの腕(GPU性能)が良くても、ウェイターの足(CPU)が疲れて店が回りません。注文を1枚の紙にまとめて『ミニトマト100個一気に出して!』と通す工夫(バッチング)が必要です。

Draw Call (ドローコール) concept infographic diagram

図:Draw Call (ドローコール)の基本的な処理フローと仕組みを日本語表記で分かりやすく図解したインフォグラフィック

詳細な仕組みと動作原理

静的バッチング(Static Batching)、動的バッチング、SRP Batcher、またはGPU Instancingを利用し、複数のドローコールをまとめてGPUに送り、CPU側の呼び出し負荷を削減します。