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

関連記事

『WIND BREAKER 不良たちの英雄譚』のアート開発秘話、Aimingがブログで公開。モデルやモーションに込めたこだわりを解説
2025.10.29
Unity開発者向け技術カンファレンス「U/Day Tokyo 2025」、12/11(木)に汐留で開催。Unity 6.3のグラフィックス機能解説や、Cygames『シャドバWB』開発事例など
2025.10.27
UnityとStripeの連携により、複数プラットフォームのアプリ内課金を一元管理可能に。拡張版「Unity IAP」早期アクセスを提供中
2025.10.24
Unity 6最新機能を解説した公式ウェビナー動画が公開。Unity 6.1で正式対応したWebGPUや、パフォーマンス解析ツール「Project Auditor」などを解説
2025.10.23
Unity公式クラウドサービス「Unity Gaming Services」、チュートリアル記事&動画が順次公開中。プレイヤー認証やアプリ内課金の実装などを解説
2025.10.21
サイバーエージェント主催のUnity勉強会「CA.unity #10」、全4講演の動画が公開。TextMesh Proでグラデーションを表現するカスタムシェーダー実装事例などを解説
2025.10.20

注目記事ランキング

2025.10.28 - 2025.11.04
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

ローパスフィルター(Low-Pass Filter)
ローパスフィルター
  1. 電気信号のうち、指定した周波数(カットオフ周波数)以下の信号を通し、それより上を大きく低減させるフィルター。
  2. ゲーム開発において、基本的にはサウンド用語として用いられる。例として、特定のセリフをローパスフィルターによってくぐもった音に加工することで、隣の部屋や遮蔽物の後ろで話しているかのような表現を行うことができる。
VIEW MORE

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