Unity 6でシェーダーコンパイルのスタッターを防止する「GraphicsStateCollection」の活用術、サイバーエージェント「コアテク」がブログ記事で解説

Unity 6でシェーダーコンパイルのスタッターを防止する「GraphicsStateCollection」の活用術、サイバーエージェント「コアテク」がブログ記事で解説

2026.07.22
ニュースUnityシェーダープログラム技術ブログ
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

この記事の3行まとめ

  • サイバーエージェントの「コアテク」、Unity 6のAPI「GraphicsStateCollection(GSC)」の解説記事を公開
  • モバイル環境におけるシェーダーのWarmupでGSCを活用し、スタッターを防止する手法をサンプルコード付きで紹介
  • GSC導入後もスタッターが残った事例とその解決策についても解説している

サイバーエージェント ゲーム・エンターテイメント事業部 コア技術本部(以下、コアテク)は2026年7月7日(火)、『GraphicsStateCollection を使ったシェーダーウォームアップについて』と題した記事を公開しました。

モバイル環境において、Unity 6より導入されたAPIGraphicsStateCollection(以下、GSC)を用いてシェーダーをWarmupすることで、シェーダーコンパイルスタッター(シェーダーコンパイルによる処理落ち)を防止する知見を紹介。

GSCの基本的な使い方を説明したうえ、Unity 6.3 LTSでの開発時にアクシデントが発生した実例や、それらを解決した方法について解説しています。

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

GSCは、シェーダーバリアントとグラフィックス状態の組み合わせを保存し、まとめて「Pipeline State Object(PSO)」を生成できるAPI。Unity 6より実験的機能として搭載されたもので、ShaderVariantCollection」の代替として位置づけられているとのこと。

GSCで記録される情報の例(画像はブログ記事より引用)

シェーダーコンパイルスタッターの要因は、シェーダーバリアントの初回描画時にShader.CreateGPUProgramでの変換とPSO生成という2段階にわたるコンパイル処理を行うことで処理負荷が発生するためだと説明。

MetalやVulkanではPSO生成のコストが大きいため、初回描画時のスタッターは数ms~数十msにおよぶとのこと。

こうしたPSO生成をゲーム起動直後など任意のタイミングで実行可能とするのが、GSCによるWarmupです。

Shader.CreateGPUProgram(Main Thread上におけるSPIR-V/MSLレベルでのシェーダーバリアントコンパイル)の処理(画像はブログ記事より引用)

PSO生成時(Render ThreadでGPUドライバーによりマシン語へ変換する処理)のコンパイル発生例(画像はブログ記事より引用)

具体的な実装手順については、PSO生成に必要なシェーダーバリアントや頂点レイアウトといった情報を記録する「レンダリング設定の収集」と、それをもとにWarmupを実行する2つのフェーズに分けて、サンプルコードを添えつつ実装例を提示しています。

また、GSCを導入してもスタッターが残ってしまった実際のケース4種類を紹介し、その原因と対処法を解説しています

たとえば「Warmup実行時にmismatchの警告が出る」問題については、GSCファイルに保存されたメタデータが実行環境と一致しないことが原因だったといい、ファイル設定を修正することで解決。そのほか、iOS環境(Metal)でのみ発生した不具合の発生事例なども紹介しています。

実際に表示されたとしているmismatch警告。異なるプラットフォームで収集したGSCを流用していたケースなどにおいて、これらの警告が発生したという(画像はブログ記事よりスクリーンショットで引用)

詳細はブログ記事をご確認ください。

「GraphicsStateCollection を使ったシェーダーウォームアップについて」CORETECH ENGINEER BLOG

関連記事

Unity&Epic協業による技術デモの発表や、Unity公式2Dサンプルゲーム『Bunny Blitz』のリリースも。「Unite Seoul 2026」基調講演のアーカイブが公開中
2026.07.22
「Unity 7」が発表。シェーダービルドが最大90%高速化、Unity 6から再構築なしで移行可能
2026.07.21
ゲーム開発関連ツールのリリース・アップデートまとめ【2026/7/18】
2026.07.18
サイバーエージェント主催のUnity勉強会「CA.unity #11」、講演動画が公開。AIによる自律的な開発支援を行う「Unity CLI Loop」の活用事例など全4講演
2026.07.17
Epic Gamesのマーケットプレイス「Fab」、7/28(火)までの期間限定で無料コンテンツを公開。スタイライズな村を作れる環境アセットなど3製品
2026.07.15
UE5.7でMoverとMotion Warpingを併用する手法、アドグローブがブログで解説。C++/ブループリント双方での実装例を紹介
2026.07.13

注目記事ランキング

2026.07.15 - 2026.07.22
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

被写界深度(DOF)
ヒシャカイシンド
  1. Depth of Field(DOF)とも呼ばれる。カメラの焦点(ピント)があっているように見える範囲のこと。
  2. 3DCGにおいて、1をシミュレーションするエフェクト。注目させたい部分に焦点を合わせ、それ以外の部分をぼかすことができる。ゲームの開発現場においては、ボケ自体のことを示すことが多い。
VIEW MORE

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