私は現在、Fabian "ryg" Giesen による" A trip through the Graphics Pipeline " ブログ シリーズのパート 2を読んでいます。
この特定の部分で、彼は 1 つの興味深い点について話します。GPU が処理するコマンドは、GPU に常駐するビデオ メモリから、または PCI Express バス経由で CPU 側から読み取ることができます。
いくつかの長所と短所を暗黙のうちに理解しました。しかし、私はそれらについてかなりぼんやりしています。トレードオフを完全に理解しているとは言えません。とにかく、自分の考えを首尾一貫して提示しようとします。
ビデオメモリへのデータの保存:
- 間違いなく速い。
- ただし、メモリのオーバーヘッドがあります (帯域幅についてはわかりません)。
CPU からの読み取り:
- ビデオ メモリにデータを保存するのが無駄な場合 (おそらく、二度と使用されないため?) には、より良い方法である可能性があります。
- ビデオメモリにデータを保存すると、PCIe バスの帯域幅が節約されるため、そのデータを再利用するときに役立つと思います。
- ただし、この通信は、ビデオ メモリから直接読み取るよりも遅くなります。
この 2 つの間には、さらに多くの複雑さとトレードオフがあると感じています。また、上で述べたことが真実であるかどうかは完全にはわかりません。誰かに次のことをしてもらいたい:
- 私の理解を深めるために、いくつかの重要なトレードオフと、おそらく他の複雑さを説明してください。
- 私が上で言ったことは本当かどうかを確認してください! (これについてはまだよくわかっていません。)