PCゲームの「起動に時間がかかりすぎる問題」と「プチフリーズ」はなぜ起こる? その原因を乗り越える取り組みも(3/3 ページ)
PCゲーム、とりわけWindows向けのものは、初回やグラフィックスドライバの更新後の起動に時間がかかったり、ゲーム中に動作が一瞬止まったりすることがある。その理由と、この現象を解消するための取り組みについて解説する。
GPUへの「個別最適化」をMicrosoftが支援する
先日のストレージの話と、今回のシェーダーコンパイルに関する話とは別に、PCゲーミングファンが気にしておくべき話題があるので、触れておきたい。ゲームタイトルの「GPUへの最適化」だ。
プロセッサとしてのGPUは、複雑性がもはや人知を超え始めている。ハイエンド級GPUだと、シェーダーコア(シェーダーを稼働するコア)は2万基を超えてしまっている。この多くなったシェーダーコアは、意外な問題を引き起こす。
グラフィックスドライバにおいて、「よかれ」と思ってアップデート時に処理の最適化を行ったとする。すると、あるゲームタイトルで描画がおかしくなってしまう“バグ”が発生しうるのだ。ある意味で「あちらを立てれば、こちらが立たず」の状態である。
特定のゲームタイトルで描画がおかしくなった原因をGPUメーカーのエンジニアが命令レベルから検証してみると、シェーダーが想定外の使われ方をしていることがある。その「想定外の使われ方」はゲームのプログラミング業界で広がっていることもあり、そうなるとGPUメーカー側ではどうにもならない。
そこでGPUメーカーは、実行中のゲームの実行ファイル(EXEファイル)の名前などを手掛かりに、特定のゲームが起動した際にドライバの挙動を変更したり、専用プロファイルを適用したりといった“特殊な最適化”で対処することもある。しかし、このテクニックはユーザーが意図的にゲーム実行ファイルを変えてしまったら働かない。
逆に、個人制作の自作ゲームが、特殊な最適化の対象ゲームと同じ実行ファイル名を使っている場合、意図せず特殊な最適化が行われ、そのゲームに良からぬ影響を与えうる。
「ファイル名による挙動切り替え」は、素人目に見ても不確かなアプローチといえる。
そこでMicrosoftでは2026年2月、DirectX 12において一意的なIDでゲームプログラムを特定できる新機能「Explicit Application Identity(EAI)」を導入した。
概要だけをまとめると、EAIは「128bitからなる一意的なID」を取得した上でアプリに実装すると、DirectXランタイムおよびグラフィックスドライバに対して標準化されたフォーマットでIDを申告できる仕様となっている。
IDの生成自体には中央管理システムはなく、世界的に一意な「GUID(Globally Unique Identifier)」や「UUID(Universally Unique Identifier)」を生成する仕組みを採用するという。一般的に、このIDはゲーム開発の初期段階で確定させるもので、生成する場所は用いているゲーム開発環境によって「Visual Studio」だったり、各種ゲームエンジンだったり、といろいろだ。
EAIの取得と利用方法
EAIを内包したアプリ(ゲームタイトル)が、グラフィックスドライバに自身の存在を申告する手順は、以下のようになるという。
まず、アプリは起動時に「Direct3D 12デバイス」が生成される前に、「SetApplicationIdentity」というAPIを用いて自身のIDや情報をDirectXランタイムに申告する。
DirectXランタイムは一連の情報を受けとると、グラフィックスドライバも参照できる形式に変換する。グラフィックスドライバは参照した情報をもとにアプリを識別し、挙動の制御に使うプロファイルに当該アプリ(ID)が存在するか照合する。照合の結果、該当なしなら通常モードでの動作を継続し、該当するものがある場合は挙動を当該ゲーム向けに切り替える。
この仕組みの副次的なデメリットとして、特定のベンチマークアプリへの“個別対応”などがしやすくなるという点もある。要するに、GPUをベンチマークアプリに有利な挙動に切り替えやすくなるということだ。これはこれで、また別の議論が勃発するだろう。しかし「ゲームを遊ぶ」という観点において、EAIは動作の安定性を担保しやすくなるため、それほど悪いシステムではないと思う。
先述の通り、API自体は既に利用可能で、先に紹介したASDでもEAIを付与したSODBを「XBOX Partner Center」へ提出するワークフローが整備されている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
Windows PC向けゲームの「ロード待ち」はなぜ起こる? 背景に過去との「互換性」
Windows PCでゲームを楽しむと、コンソールゲーム機と比べてロードで待たされることが多い――これは気のせいではない。その謎を2回に分けて解説する。この記事では、「データのロード」に焦点を当てる。
NVIDIA、ニューラルレンダリングテクノロジーの強化を発表 DirectXプレビューがニューラルシェーダーをサポート
NVIDIAとMicrosoftは、4月に公開されるDirectXプレビューでニューラルレンダリングシェーディングがサポートされると発表した。
NVIDIA、量子コンピューティングにGPUを活用する「NVQLink」技術を発表
NVIDIAは、量子プロセッサとGPUコンピューティングの併用を実現するNVQLink技術を発表した。
理論値以上のゲーミング性能を発揮できる秘密は? MSI Claw 8 EX AI+で知る「Intel Arc G3 Extreme」の実力
IntelがポータブルゲーミングPCに特化したSoC「Intel Arc G3」シリーズをリリースした。このSoC、理論性能だけを見るとライバルに劣るのだが、実際にゲームを遊ぶと性能面で“逆転”することがある。その秘密に、「MSI Claw 8 EX AI+」を通して迫る。
Core Ultraプロセッサ(シリーズ3)の「Xe3 GPU」の全体像を解説 完全な新世代ではないものの用途に合わせた最適化がポイント
Intelが2025年末に一部を出荷する予定の「Core Ultraプロセッサ(シリーズ3)」(開発コード名:Panther Lake)は、「Xe3 GPU」なる新しいGPUコアを搭載する。この記事では、Xe3 GPUの概要をお伝えする。


