検索
コラム

Windows PC向けゲームの「ロード待ち」はなぜ起こる? 背景に過去との「互換性」(2/2 ページ)

Windows PCでゲームを楽しむと、コンソールゲーム機と比べてロードで待たされることが多い――これは気のせいではない。その謎を2回に分けて解説する。この記事では、「データのロード」に焦点を当てる。

Share
Tweet
LINE
Hatena
前のページへ |       

なぜWindowsのデータアクセスは遅いのか?

 PS5やXbox Series X|Sといった現行のコンソールゲーム機では、「PCI Express 4.0接続のNVMe SSDを採用している」ということ以外にも、スタイルこそ違うが以下の共通したアプローチを取っている。

  • メインSoCに圧縮データの専用展開ユニットを搭載している
  • 何かしらの、先進的なデータ圧縮アルゴリズムを採用している

 これらこそ、現行のコンソールゲーム機でロードを高速化する“キモ“であることが見えてくる。

 ではPCゲーミングではどうなっているのだろうか?

 ゲームのグラフィックスに関しては「ゲーミングPCの方がだいぶ先行している」というイメージがあると思う。しかし、「データロードの高速化」となると真逆で、コンソールゲーム機から数世代遅れている状況にある。とはいえ、いつまでも遅れているわけにはいかない事情もある。

 Microsoftが開発を進めている次世代Xbox(開発コード名:Helix)では、WindowsのPCゲームが動作するとされているが、そうなると≪データロード回りの技術をWindows PCと共通化する“道筋”の検討も欠かせないのだ。

 「でも、Windows PCのどこが遅れているの?」という疑問ももっともなので、OSとしてのWindowsにおけるデータのロードについて解説していきたい。

セキュリティと互換性の確保に使われた「仮想SCSI」が足を引っ張る

 Windowsはもともと、ストレージとしてHDDが全盛だった頃に生まれた汎用(はんよう)コンピュータOSだ。故に不正アプリからのファイルシステムに対する“攻撃”への対処が必要で、HDDの利用を前提とした重厚なセキュリティシステムを導入した。

 昔は、PCで使うストレージがここまで高速化することを想定していなかったため、Microsoftは全ての固定ストレージを「仮想SCSI(Virtual SCSI)」デバイスとして扱うことでセキュリティの向上を図った。

 「SCSI」といわれても、相当に古参のPCユーザーでないと聞いたことがないと思うので簡単に説明しよう。SCSI(スカジー)は「Small Computer System Interface」の略で、1980年代にストレージデバイスとOSとのやりとりを媒介するインタフェース規格として誕生した。

 SCSIは1990年代に全盛を迎え、HDDや光ディスクなどさまざまなスタイルのストレージの接続に使われた。USB(Universal Serial Bus)が普及すると、それに取って代わられる形でSCSI規格は影を薄めていった。

 過去のソフトウェアとの整合性(互換性)を取るべく、この頃にリリースされたWindowsではSCSI“ではない”インタフェース規格でも「仮想SCSIドライバ」を介してデータのやりとりをするようにした。ある意味で「SCSIの“亡霊”」を引きずっている状態にある。

 このことは、今日主流となったPCI Express接続のSSDを使う際も例外ではない。Windowsの「デバイスマネージャー」を表示すると、SSDを含むストレージの多くが仮想SCSIドライバを経由して接続されていることが分かる。

 この“弊害”で、現在Windows PCではWindowsからのストレージのアクセス要求をいったんSCSIコマンドに変換し、NVMe規格のSSDだとNVMeコマンドにさらに変換してからSSDに送るようになっている。イメージ的には、OSとSSDの間に複数人の“通訳者”が介在している状況で、どうしても読み書きの遅延(レイテンシ)が大きくなってしまう。

仮想SCSI
現状のWindowsでは、NVMe規格のSSDは仮想SCSIドライバ経由でのアクセスとなる

ゲーム向けに「DirectStorage」を提供しているが……

 Windows環境におけるゲーム向けシステムコンポーネント群「DirectX」では、コンソールゲーム機のストレージの“超速”アクセスに迫る仕組みとして「DirectStorage」が用意されている。2026年現在の最新バージョンは「DirectStorage 1.3」で、CPUの介入をほぼゼロにしてSSDからGPUのグラフィックスメモリへとデータを伝送できるようになっている。

 この伝送はデータを圧縮したままで行われる。さすがにコンソールゲーム機のSoCのように専用の展開ユニットは備えていないものの、GPUのコンピュートシェーダーを使ってデータの展開を行っている。

 しかし、DirectStorage 1.3をもってしても、「仮想SCSIを使っているせいで“通訳者”の手が一杯」な状況の撲滅には至っていない。

 遅くとも次世代Xboxの登場までには、構造的問題に対して“大なた”が振るわれることだろう。

 なお、NVMe規格のSSDに対する「仮想SCSIの撲滅」については、2025年12月に「Native NVMe」という名称でサーバ向けの「Windows Server 2025」に先行実装された。

 Windows Server 2025は、一般ユーザー向けの「Windows 11」のバージョン 25H2とコアアーキテクチャが同じなので、いずれWindows 11にもNative NVMeが適用されるはずで、実はドライバ(nvmedisk.sys)自体は既にインクルードされている。一般ユーザー向けには“意図的に”無効としている状況だが、知識のあるユーザーなら自己責任の下で有効化は可能だ。将来的には、システム側で自動的に有効化されるのではないかと思われる。

 ちなみに、ゲーム機としてのXboxシリーズも、そのOSは長らくWindowsである。Xbox Series X|S向けのWindowsでは、最初から「仮想SCSI問題」への対処が行われている。その意味でも、現行のゲーミングPCはデータアクセスの面では“遅れている”のである。

近未来のSSDアクセス
Windows Server 2025/Windows 11(バージョン 25H2以降)にはNative NVMeが実装されているが、Windows 11については現時点では有効化されていない

 PCゲームのロードというと、昨今は「シェーダーのコンパイル」で待たされることも多い。これもコンソールゲーム機にはない現象だが、今回紹介した「データのロード」とは“別の”問題が主因となる。次回は、シェーダーのコンパイルと、それにまつわる「プチフリーズ」問題を解説する。

モンハン
2025年にリリースされた、カプコンの「モンスターハンターワイルズ」のPC版では、初回起動時やGPUドライバの更新後にシェーダーのコンパイルプロセスが入ることがある。「何でここまで待たされるのか?」と驚愕(きょうがく)するレベルで待たされるのは、なぜなのだろうか……?

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る