Deferred Vertex Shading

提供: MonoBook
ナビゲーションに移動 検索に移動

Deferred Vertex Shading(通称:DVS、遅延頂点シェーディング)とは、クアルコムが考案したメモリの遅いスマートフォンGPUを高速化する技術です。

紛らわしい名称[編集 | ソースを編集]

この「遅延頂点シェーディング」と「遅延シェーディング」は名称が似ていますがまったくの別物です。遅延頂点シェーディングあくまでGPU内部の構造のことであり、GPUを利用するプログラマーが意識する必要があるものではありません。

概要[編集 | ソースを編集]

パソコンビデオカードに搭載されるGPUHBMなどの高速なVRAMを利用していますが、スマートフォンGPULPDDR3などの遅いメインメモリの一部を共用利用しているのが一般的です。これが原因でGPUを高性能化できない、GPUを高性能にしてもデータ転送が遅すぎて空回りするという問題に直面していたそうです。

DVSはPowerVRで有名なタイルベースレンダリングの発展形で、1つのポリゴン(三角形)が複数のタイルにまたがる場合は従来通りですが、1つのポリゴン(三角形)が1つのタイルに完全に収まる場合はバーテックスシェーダーの実行をフラグメントシェーダーの直前まで遅延させるという方式です。

1つのポリゴン(三角形)が1つのタイルに完全に収まる場合はバーテックスシェーダーフラグメントシェーダーを断続的に実行し、その際のシェーダー間のデータの受け渡しに、遅いVRAM(≒スマートフォンメインメモリ)ではなく「小容量の超高速メモリ」を利用することでGPUの空回りを防ごうという仕組みだそうです。

採用例[編集 | ソースを編集]