スマホ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

関連記事

ゲーム開発関連ツールのリリース・アップデートまとめ【2026/4/11】
2026.04.11
モバイルでも60fps流体シミュレーションを実現。スパーククリエイティブ、ボリュームレンダリング最適化手法をブログで解説
2026.04.07
「Unite Tokyo」は7年ぶり。Unity開発者向け年次カンファレンス「Unite 2026」、東京とソウルで開催
2026.04.07
ゲーム開発関連ツールのリリース・アップデートまとめ【2026/4/4】
2026.04.04
Microsoft、オープンソースのWebレンダリングエンジン「Babylon.js 9.0」リリース。数千規模の動的なライトを高速で描画できる「Clustered Lighting」が実装
2026.04.02
「Unity 6.5」ベータ版リリース。ビルトインレンダーパイプライン非推奨化や、ECSとGameObjectの連携強化に向けた動きなど
2026.03.30

注目記事ランキング

2026.04.04 - 2026.04.11
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

物理エンジン
ブツリエンジン オブジェクトの物理挙動をシミュレーションする機能。ゲームエンジンの一機能として提供される場合や、物理エンジンの機能のみをミドルウェアとして提供する場合がある。
VIEW MORE

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