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

スマホ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 6.4」で予定された破壊的変更を一挙紹介。Render Graph互換モード削除、SRP CoreのPhysics依存解消など
2025.09.17
「Unity 6.3 Beta」リリース。UI Toolkitでカスタムシェーダーが使用可能。2Dシーンで3Dメッシュを描画できる機能なども実装
2025.09.17
ScriptableObjectを解説したUnity公式の無料電子書籍、Unity 6版にアップデート。無料サンプルや公式ブログと併せて学べる
2025.09.09
Unity 6で更新されたHDRPの機能を解説。無料電子書籍がUnity公式サイトで公開中。日本語版は後日リリース予定
2025.09.08
Unityで3D都市モデルを使えるオープンソースSDK「PLATEAU SDK for Unity v4.0.0-alpha」リリース。広域のモデルを低負荷で描画可能に
2025.09.04
Unity 6におけるビジュアルエフェクト(VFX)の制作手法を解説した日本語版電子書籍、Unity公式が無料公開
2025.08.25

注目記事ランキング

2025.09.12 - 2025.09.19
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

エミッター(Emitter)
エミッター
  1. 英語で「放出器」「放出源」のこと。
  2. ゲーム開発においては、パーティクルを生み出す発生源のことを示すことが多い。
VIEW MORE

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