タイルベースレンダリング

提供: MonoBook
2021年7月15日 (木) 02:47時点におけるAdministrator (トーク | 投稿記録)による版 (ページの作成:「'''タイルベースレンダリング'''(英語:tiled base rendering)とは、 コンピューター・グラフィックスにおいて、1つの画面を…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

タイルベースレンダリング英語:tiled base rendering)とは、 コンピューター・グラフィックスにおいて、1つの画面を描画生成する際に、1画面を複数のタイルに分割してタイル単位で描画を行う手法である。

古くは「チャンクレンダリング」「分割レンダリング」などとも呼ばれた。

概要

タイル方式は大雑把にいえば「メモリの容量と帯域を節約する手法」である。

「少ないメモリ」「遅いメモリ」という条件下では 従来方式ではシェーダーが空回りしてハナクソほじってる時間が長くなるが、 タイル方式であればシェーダーを遊ばせることなくフル稼働させやすい。なお、「メモリ負荷は下がる」が「シェーダー負荷が上がる」という欠点もある。

20世紀のメモリ容量が数MBだった時代には夢のような技術あり、 「ハードウェアを安く作れると夢のような手法」だと言われた。

採用事例

タイルベースレンダリングは、マイクロソフトが絶賛し「Talisman」をぶち上げ、NECが「PowerVR」を製造してしまい、セガドリームキャストに採用された。 一方、プレイステーション2は「力こそパワー」であると2560ビットの超高速バスを採用した。

21世紀になるとタイルベースレンダリングは「忘れ去られた技術」になっていたが、iPhoneが採用し復活を果たした。 これはスティーブ・ジョブズの厳しい筐体サイズや消費電力への要求に応えるためだと思われる。

利点:メモリを節約できる

一般的なレンダリング手法では描画作業用に画面解像度相当のカラーバッファ深度バッファステンシルバッファなどを必要とする。 これらは20世紀のパソコンで主流だったVGA(640x480)でも1MB以上が必要になる。 さらにこれを60fpsで描画しようとするとメモリ帯域が問題になる。

一方、タイルベースレンダリングでは作業用に必要なメモリ容量が「タイルの大きさ」で済む。16x16や32x32という超低解像度を格納する程度のメモリなら超高速なSRAMでも安い。

Tiled base rendering 1.png


なお、メモリ容量については昨今のバカみたいにメモリを搭載したパソコンスマホではフルHD(1920x1080)でも数十MB程度なのであまり問題にならない。

一方、メモリ帯域に関しては今でも厳しい。 パソコン向けのビデオカードでは「やれGDDRだ」「やれHBMだ」と力技で解決が試みられているが、 スマホはバカみたいに遅いLPDDRがいまだに主流なので問題になることが多い。

欠点:オーバードローが発生する

「タイルをまたぐポリゴン」を描画する場合はそのタイル数だけシェーダーが動くことになる。いわゆるオーバードローに近い無駄が発生する。