Variable Rate Shading (VRS / 可変レートシェーディング) は、画面のエリアごとに「ピクセルシェーダーを実行する細かさ(周波数)」をハードウェア(GPU)側で動的に変化させ、描画負荷を低減する先進的なレンダリング最適化技術です。

現実世界での例え:塗り絵の効率的な筆づかい

VRSの動作原理は、「塗り絵の『輪郭付近』と『広い内側』での筆の使い分け」に例えることができます。

  • 従来(VRSなし): 塗り絵をする際、極細のミリペン(超高解像度計算)だけを使い、細かいキャラクターの輪郭も、背景の広大で平坦な青空(コントラスト差のない平坦エリア)も、すべて同じ速度で一筆ずつ均等に塗りつぶしていきます。当然、時間と体力(GPU負荷)が膨大にかかります。
  • VRSによる解決: 線が入り組んだ重要な「キャラクターの輪郭(高周波エリア)」には、これまで通り極細のミリペン(1x1ピクセル計算)で丁寧に描きます。一方、色の変化がほとんどない「背景の青空や暗闇(低周波エリア)」には、太いマジックペン(2x2ピクセルを一括計算)で一気に大雑把に塗りつぶします。これにより、完成した絵のクオリティを全く落とすことなく、作業スピードを劇的にスピードアップさせます。
VR Variable Rate Shading shading rate logic map

図:重要エッジ部分と平坦部分でGPUシェーディング負荷を動的に変化させるVRSのインフォグラフィック

仕組みと動作原理

VRSは、レンダリング時に画面スペースを「VRSテクスチャ(シャドーイングレートマップ)」と呼ばれる低解像度マップで区分けし、GPUが各タイル(8x8や16x16ピクセル)の処理レート(1x1、1x2、2x1、2x2、4x4など)を判断します。これにより、画質劣化が人間に視認されにくい箇所のみスマートに計算コストを削減します。