コマンドバッファ
GPUへの命令をCPU側で事前に記録しておき、1回ずつ発行する代わりに、まとめてグラフィックスキューへ投入する仕組み。
昔ながらのOpenGLは「イミディエイトモード」で、呼び出すたびにドライバへ即座に処理を指示していた。そのため描画は単一スレッドに縛られ、呼び出しごとに見えないオーバーヘッドが乗った。Vulkan、Direct3D 12、Metalではドローコールや状態変更をバッファ(D3Dではコマンドリストと呼ぶ)に記録し、完成した時点で一括して渡す。
記録と投入が分かれているので、複数のスレッドがそれぞれのバッファを並列に作れる。現代のGPUを遊ばせないための前提条件である。内容が変わらなければバッファをフレームをまたいで再利用でき、GPUインスタンシングを使えば記録すべきコマンドの数自体も減らせる。