検索
コラム

PCゲームの「起動に時間がかかりすぎる問題」と「プチフリーズ」はなぜ起こる? その原因を乗り越える取り組みも(2/3 ページ)

PCゲーム、とりわけWindows向けのものは、初回やグラフィックスドライバの更新後の起動に時間がかかったり、ゲーム中に動作が一瞬止まったりすることがある。その理由と、この現象を解消するための取り組みについて解説する。

Share
Tweet
LINE
Hatena

長時間コンパイルやプチフリーズに向けた対策も

 Windows向けのPCゲームにおける「長時間コンパイル」「プチフリーズ」については、Microsoftも近年は深刻に受け止めていて、ようやく対応に乗り出した。

 その具体的な取り組みとして、同社は2026年にゲーム開発スタジオやGPUベンダーと連携して、ユーザーにコンパイル済みのシェーダーバイナリを配信する「Advanced Shader Delivery(ASD)」という仕組みの整備に着手した。この仕組みは、ASUSTeK Computer(ASUS)のポータブルゲーミングPC「ROG Xbox Ally」シリーズ向けに2025年から先行提供していたものだ。

プリコンパイル
Valveのゲーム配信プラットフォーム「Steam」では、ASDとほぼ同じコンセプトの「シェーダープリキャッシュ」という仕組みを導入していて、使っているハードウェア(GPU)に合致したコンパイル済みシェーダーをダウンロードできる……のだが、現状では事実上「Steam Deck」を使うユーザー向けの機能となっている

 Microsoftが2026年2月に提供した「DirectX Agility SDK」のバージョン1.619.0では、シェーダー構成情報を提出するための新API「ID3D12StateObjectDatabase」が定義されている。

 ゲーム開発者側は、このAPIを利用することでシェーダーコードのネイティブコード(バイナリ)だけでなく、「レンダリングステート」「ルートシグネチャ」「入力レイアウト」といったシェーダーを実行するための前提条件の組み合わせを、標準化されたフォーマットで集約可能だ。

 この集約物として出力されるのが、そのゲーム内に存在する全てのシェーダー構成を網羅した“レシピ”ともいえる「State Object Database」(SODB)である。

DirectX
SODBに関する開発情報は、GitHub上で公開されている

データの提出先は「GPUメーカー」ではなく「ストアフロント」

 このASDの枠組みの中において、ユーザーフロントを務めるのが「ゲーム配信プラットフォーム」(ストアフロント)だ。意外なことに、NVIDIAの「NVIDIA App」やAMDの「Adrenalin Software」といったGPUメーカーが用意したコントロールパネルではない。

 まず、ゲーム開発元は作成したSODBをストアフロントに提出する。その後、GPUメーカーにSODBに基づいた事前コンパイルを“打診”することになる。つまり、SODBはストアフロントを経由してGPUメーカーに提出されるのだ。

 「なぜゲーム開発者がGPUメーカーに直接提出しないのか?」という疑問を持つ人もいるかもしれないが、こういう形態を取っている理由は単純だ。新しいゲームはもちろんのこと、バグ対策や機能追加といったアップデートしたゲームも、SODBと“一緒に”ストアフロントに提出する必要があるからだ。ゲームの本体プログラムと窓口を一緒にした方が、何かと合理的なのである。

事前コンパイルは「総当たり」に近い形で行われる

 GPUメーカーは、ストアフロントに提出されたSODBを受け取って、その情報に従ってありとあらゆる自社GPUと、めぼしいバージョンのグラフィックスドライバの組み合わせの“全て”でコンパイルを実行し、「事前コンパイル済みキャッシュ(PSDB:Pre-compiled Shader Database)」というバイナリとして出力する。

 この「ありとあらゆるGPU×めぼしいバージョンのグラフィックスドライバ」の組み合わせによるコンパイル工程は、実務的にかなり高負荷なのは間違いない。実質的に「総当たり」に近いような状況なので、少なくとも手作業では無理だろう。恐らく、GPUメーカーが用意したサーバを使って機械的にコンパイルを行うことになると思われる。

 GPUメーカーでコンパイルされて生成されたPSDBは、ストアフロントに提出される。これは、ストアフロントが自前のサーバで管理/保存することになる。

ASDの仕組み
ASDの全体的な仕組み

ASDはプレイヤーの介在なしで利用可能

 ASD自体の仕組みは、少々複雑である。しかし、ゲームを楽しむプレイヤーはシンプルにお目当てのゲームを買ってインストールするか、初回起動するだけでOKだ。プレイヤーが明示的なアクションを取らずとも利用できる。

 ストアフロントのアプリは、プレイヤーのPC環境を確認した上で、当該タイトル用のPSDBの有無を確認する。もしも環境に適合したPSDBが存在する場合は、それを自動的にダウンロードしてくれる。ゲーム本体のアップデート後はもちろん、グラフィックスドライバの更新後も、この確認は自動で行われる。

 ……と、ここで気になるのはストアフロント、GPU、そしてゲームタイトルにおけるASDへの対応状況という点だ。

 ストアフロントは、記事掲載時点ではMicrosoft自らが運営する「XBOX PC」「Microsoft Store」のみ対応している。GPUについては、記事執筆時点で以下のものに対応している。

  • Intel:「Xe2」以降のアーキテクチャ(CPU内蔵を含む)
  • AMD:「RDNA」以降のアーキテクチャ(一部のAPUを含む)
  • NVIDIA:全ての「GeForce RTX」と「RTX Spark」
  • Qualcomm:Snapdragon X2シリーズ以降に搭載の「Adreno GPU」

 対応するゲームタイトルは、Microsoftが6月11日時点のものを公表しているが、実際にはもう少し増えている。以下にまとめてみたので参考にしてほしい。

ASD対応タイトル
記事掲載時点でのASD対応ゲームタイトル(名称は海外のもので、日本向けとは異なる場合がある)。なお、これはあくまでもXBOX Store/Microsoft Storeで配信されているものが対象で、他のストアフロント(Steamなど)で配信されているものはASD対応をうたっていない
タイトル
ASD対応のゲームタイトルでは、ASDによるシェーダーがインストールされていると「コンパイル済みのシェーダーがインストールされている」旨が表示される(出典:Microsoft)

 ユーザー数の多い、人気ストアフロントである「Steam」「Epic Games Store」「GOG」は、記事執筆時点ではASDに対応していない。しかし、これらは「ASDに対応しない」と明言しているわけでもない。“競合”であるMicrosoft純正ストアフロントが先行対応しているとなれば、黙っていられないはずだ。

 早ければ2026年内、あるいは2027年内には他のストアフロントでもASDに関する何らかの動きが出てくるものと思われる。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る