スマホGPUで主流の「タイルベースレンダリング」とは?サイバーエージェント、「シェーダー最適化入門」記事を公開

2025.02.03
ニュースUnity
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

この記事の3行まとめ

  • サイバーエージェントのコア技術本部チーム、『シェーダー最適化入門 第2回目 「タイルベースレンダリングのGPUとは?」』と題した記事を公開
  • モバイルデバイスでレンダリングを効率化する「タイルベースレンダリング」アーキテクチャのGPUを紹介
  • VulkanやMetal、Unity 6などで使用できる「フレームバッファフェッチ」によるさらなる高速化なども解説している

サイバーエージェント ゲーム・エンターテイメント事業部 コア技術本部(以下、コアテク)は、『シェーダー最適化入門 第2回目 「タイルベースレンダリングのGPUとは?」』と題した記事を、技術ブログ「CORETECH ENGINEER BLOG」公開しました。

同記事では、モバイルGPUで主流の「タイルベースレンダリング」アーキテクチャについて、その仕組みや最適化の手法などを解説しています。

現代のGPUは演算速度とメモリの読み書き速度の差が大きくなり、メモリアクセスがボトルネックと述べられています。

PCのディスクリートGPUではグラフィックス専用メモリを積むなどして対応できます。しかしモバイルGPUでは、発熱量や消費電力の問題から専用のグラフィックスメモリを持てず、CPUとGPUでメモリを共有していることが多いとのこと。

そこで生まれたのが、タイルベースレンダリングアーキテクチャのGPU。タイルメモリと呼ばれる小さく高速なキャッシュメモリをシェーダーコアに搭載し、画面をタイルで分割して、タイルメモリに対してレンダリングできます。

画像では16分割しかされていないが、あくまで例示されたもの。実際には16×16ドットや32×32ドットの矩形を1タイルとして扱うことが多く、本来はより多くのタイルが存在する(画像はブログ記事より引用)

タイルメモリに対して先にレンダリングし、レンダリングが完了したグラフィックスをCPU/GPUメモリにストア(保存)することで、速度の遅いメモリへのアクセス回数を減らし、高速化が可能とのことです。

ただし、最終的にはタイルメモリの内容をメインメモリにストアする作業が必要なため、この回数が多くなることはボトルネックにつながってしまいます。

記事ではこの問題への対処として、G-Bufferの作成を例に解説。最初に、「G-Bufferの作成(アルベドや法線などの情報をタイルメモリに書き込む)」「G-Bufferをメインメモリにストアする」「ストアされたG-Bufferをサンプリングし、ディファードライティングを行う」といったワークフローを紹介しています。

(画像はブログ記事より引用)

しかし、メインメモリからではなく、タイルメモリからG-Bufferを直接読み込むことができれば、メインメモリへのストア回数を減らせます。

同機能はフレームバッファフェッチと呼ばれ、VulkanMetalといったグラフィックスAPIで利用可能。なお、Unityでも「Unity 6」から利用しやすい旨が記事で書かれています。

(画像はブログ記事より引用)

記事ではほかにも、VulkanやMetalで使用できる「RenderPass」を用いたリソースの定義手法について紹介。また、同様の機能をUnityで実装する手法についても、Render Graphを使用するケース/使用しないケースに分けて解説しています。

さらに、レンダリングテクスチャをタイルメモリに一時保存し、CPU/GPUに保存せずに処理することでアプリのメインメモリ使用量を削減する「メモリレスモード」についても言及しています。

詳細は、コアテクの技術ブログをご確認ください。

シェーダー最適化入門 第2回目 「タイルベースレンダリングのGPUとは?」 | CORETECH ENGINEER BLOG

関連記事

ライティングの影響で見た目が変わる爆風エフェクトや、ゲーム背景の画作りのテクニックなど。Unityによる映像制作のコツを解説した記事2本、Aimingが公開
2025.03.25
Unity 6.1は4月リリース。Meta Quest対応やWebGPU正式サポートなど、今後のロードマップが語られた「GDC 2025」講演アーカイブが公開中
2025.03.22
「Unity ゲーミングレポート 2025」が無料で公開。Unityで開発する約500万人のデータなどを分析し、AI活用・モバイルゲーム開発の動向などをレポート
2025.03.19
『PLATEAU SDK for Unity GIS Sample』、v1.3.0にアップデート。歩行者・自動車の視点で街を散策できるモードなどが搭載
2025.03.18
ノードベースのビヘイビアツリーをUnity 6の新機能「Unity Behavior」で実装。テクロスが解説記事を公開
2025.03.17
幅や解像度が自動調整されるUIを収録。UnityのShader Graphを活用した公式サンプルパック「UGUI Shaders」リリース
2025.03.14

注目記事ランキング

2025.03.20 - 2025.03.27
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

フォグ(Fog)
フォグ 「霧」を意味する英単語。3DCGにおいて、現実の霧による見た目をシミュレーションする画面効果やエフェクトを指す。代表的なものとして、カメラから遠くにあるオブジェクトの色調を変化させることで遠近感を出す手法がある。
VIEW MORE

Xで最新情報をチェック!