「Deferred Vertex Shading」の版間の差分

ページの作成:「'''Deferred Vertex Shading'''(通称:DVS、遅延頂点シェーディング)とは、クアルコムが考案したメモリの遅いスマートフォ…」
 
 
(同じ利用者による、間の1版が非表示)
5行目: 5行目:


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


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


1つの[[ポリゴン]](三角形)が1つの[[タイル]]に完全に収まる場合は[[バーテックスシェーダー]]と[[フラグメントシェーダー]]が断続的に実行し、その際のシェーダー間のデータの受け渡しに、遅い[[VRAM]](≒[[スマートフォン]]の[[メインメモリ]])ではなく「小容量の超高速メモリ」を利用することでGPUの空回りを防ごうという仕組みだそうです。
1つの[[ポリゴン]](三角形)が複数のタイルにまたがる場合は従来通りすべてのポリゴンに対して[[バーテックスシェーダー]]を実行して、そのすべての処理が終わった後に[[ピクセルシェーダー]]を実行します。
 
一方、1つの[[ポリゴン]](三角形)が1つのタイルに完全に収まる場合は[[バーテックスシェーダー]]と[[フラグメントシェーダー]]を断続的に実行し、その際のシェーダー間のデータの受け渡しに「遅い[[VRAM]](≒[[スマートフォン]]の[[メインメモリ]])」ではなく「GPUに内蔵された小容量の超高速メモリ」を利用することでGPUの空回りを防ごうという仕組みだそうです。


== 採用例 ==
== 採用例 ==