IT用語集 › プログラミング › GPUリードバック

GPUリードバック

プログラミング Svenska → 更新: 2026-10-26

GPUのデータをCPU側へ書き戻すこと。書くのは簡単だが、パイプラインを止めることで悪名高い。

通常、GPUとCPUは非同期に動く。CPUはコマンドを積んで先へ進み、GPUは1フレーム以上遅れて追いかける。リードバックはこの関係を壊す。描画済みのピクセルやコンピュートの結果、オクルージョンクエリをCPUが読むには、GPUが実際に処理を終えるまで待たなければならず、この同期だけでフレームの余裕をすべて失うこともある。初期のglReadPixelsは、まさにこの点で悪名高かった。

対策は、現在のフレームを読まないことだ。結果をいったんステージングバッファへコピーし、GPUがその地点を通過した数フレーム後に取得する。複数のステージングバッファを使うリングバッファが定番のパターンである。GPUピッキングやスクリーンショット、ヒストグラムによる自動露出は、いずれもこの遅延リードバックに頼っている。

← 用語集に戻る