タイルレンダリング、非常に低消費のGPUのアーキテクチャ

スマートフォン、タブレット、さらには低電力PCなどの低電力デバイス用のGPUは、通常、一般的なレンダリング方法であるタイルレンダリングを使用します。 しかし、それはどういう意味で、何で構成されているのでしょうか? これらのGPUが従来のGPUとどのように異なるかを理解できるように、すばやく明確に説明します。

タイルレンダリングの概念は、画像バッファを「タイル」と呼ばれるいくつかの小さなバッファに分割することに基づいています。 これは、モバイルデバイスのGPUで使用される手法であるため、消費量が少なく、グラフィックプロセッサの内部構成に重要な変更を伴います。

タイルレンダリング

ラスタライズパイプラインの概要

タイルレンダリングはラスタライズアルゴリズムのバリエーションであり、次のXNUMXつの段階に分かれています。

  • ワールドスペースパイプライン
  • スクリーンスペースパイプライン

ワールドスペースパイプライン、シーンのジオメトリが計算されます 、彼のワークショップでフィギュアを作る彫刻家としてそれを視覚化します。 この段階では、ピクセルではなく、XNUMX次元座標空間の頂点を操作します。

当学校区の スクリーンスペースパイプラインはラスタライズから始まります 、これは3Dシーン全体の平面での投影にすぎませんが、同じ彫刻家が自分の作品の写真を撮ると想像してみてください。写真は二次元要素。

RasterizadoBásico

しかし、私たちの彫刻家のカメラは特別です。彼は白黒で写真を撮っていますが、カラーでは撮っていないので、写真を撮ってコンピューターで編集し、色を付ける必要があります。テクスチャリングプロセス。 最後に、写真家はカラー写真を自分のプリンターに持っていきます。これは、画像バッファーに最後のピクセルを書き込むのと同じです。

タイルレンダリングはどのように異なりますか?

タイルRendeirngパイプライン

タイルレンダリングには従来のラスタライズと同じステージがありますが、グラフィカルパイプラインにステージが追加されるため、パイプラインが長くなるため、従来のラスタライズよりも少し遅くなります。

シーンのジオメトリの計算が終了したとき、 GPU 画面上の位置に従ってシーンのジオメトリを並べ替えます   画面上のタイルごとにXNUMXつずつ、一連​​の新しい画面リストを作成します。 それらのそれぞれで、ジオメトリ情報は画面のその部分に保存され、上記のバッファはVRAMで生成されます。

タイルレンダリング

次のステップはラスタライズですが、この場合 タイルがXNUMXつずつラスタライズされました 、しかし利点はそれです 各タイルの画像バッファは、GPUの内部メモリに収まるほど小さいです 、の操作を行います カラーバッファとZバッファはVRAMからの帯域幅を必要としません 、これにより、より少ない帯域幅でメモリを使用でき、消費量を大幅に削減できます。

タイルレンダリングに基づくGPUでは、コンセプトを複数回見ることができます。」 xコアのGPU 「実際には、チップ上に複数のGPUがあるわけではありませんが、Screen SpacePipeline中にx個のタイルを同時に処理するように設計されています。

Apple A10X

デスクトップGPUでタイルレンダリングが使用されないのはなぜですか?

RTX3000 RX6000

タイルレンダリングを使用するGPUの最大の問題は、パラメーターバッファー内のシーンのジオメトリを順序付けるプロセスです。このプロセスでは、シーンのジオメトリの複雑さが増すほど、より複雑なハードウェアが必要になります。 タイルレンダラーではないGPUが使用されているPCおよびコンソール用のAAAゲームは、幾何学的に複雑であるため、タイルレンダラーもその点で拡張できません。

In AMD   NVIDIA GPU、存在するのはタイルキャッシングです。これはタイルによるラスター化で構成されていますが、一連の違いがあります。

  • パラメータまたはトライアングルバッファは生成されません。
  • タイルレンダリングでは、各タイルのピクセルは、タイルの画面リストが解決されるまで内部メモリに保持されます。
  • タイルキャッシングでは、ピクセルはGPUのL2キャッシュに送られるため、いつでもVRAMにドロップできます。

現時点では、AMDまたはNVIDIAがタイルレンダリングパスを採用することを示すものは何もありません。