アンチチートドライバがネック

クアルコム、「Snapdragon X Elite」搭載PCでほとんどのWindowsゲームが動くと予告

Image:Qualcomm

クアルコムが投入予定のデスクトップ向けSoC「Snapdragon X Elite」は、ようやく十分な性能のARMベースWindows PCを実現すると期待されている。つい先日もアップルM3のマルチコア性能を凌駕するというベンチマーク結果が見つかり、マイクロソフトも5月には同チップ搭載の「Surface Pro 10」「Surface Laptop 6」をリリースするとの噂もある

そこで懸念されているのが、これまでのインテル/AMD製CPU、つまりx86(32ビット)/x64(64ビット)向けに作られたWindows用ゲームがどれほどの割合で互換性があり、どれだけの速さで動くのかということだ。ARM向けWindows 10ではx86エミュレーション、Windows 11ではx64エミュレーションが実現しているが、それでも不安は残る。

これにつき、クアルコムはGDC(Game Developers Conference)にて「Windows on Snapdragon, a Platform Ready for your PC Games」セッションを開催し、Snapdragon X Elite搭載のノートPCがx86/64ゲームをフルスピード近くで実行できると強調した。

2020年、アップルはARM系SoCのM1を搭載したMacと共に自動変換メカニズム「Rosetta 2」を導入し、インテル系Mac用に作られたソフトウェアを大きくパフォーマンスが低下することなく動かせると実証した。かたやWindows 11もx64エミューレションに対応しつつも、これまでのクアルコム製、つまりARM系チップでは芳しい結果を出せていなかった。

クアルコムの説明によれば、Windows on Snapdragon(Snapdragon X Elite)ではゲーム開発者には3つの選択肢があるという。

  • クアルコムのスケジューラはCPUの周波数を動的に下げられるため、WindowsタイトルをネイティブARM64に移植して最高のCPUパフォーマンスと省電力を実現できる
  • Windowsとそのライブラリ、およびクアルコム製ドライバをネイティブに実行できるハイブリッドの「ARM64EC」アプリを作成できるが、アプリの他の部分はエミュレートして「ネイティブに近い」パフォーマンスが得られる
  • あるいはx64エミュレーションを使えば、何も手を加えずにゲームはとにかく動くだろう

さらに、開発者はフルスピードを引き出すために、ゲームのコードやアセットを変更する必要はないと付け加えている。なぜなら、ほとんどのゲームはCPUではなくGPUがグラフィックのボトルネックになっているが、GPUの性能は(エミュレーションによる負荷の)影響を受けないという。

また、x64コードをARM64コードに変換または移行する際、CPUの性能に若干の影響を与えるが、それはコードのブロックが最初に変換されるときにのみ発生し、「後続のパスは直接キャッシュアクセスできる」とのことだ。

つまり、一度ARM64コードに変換してしまえば、それ移行は都度変換するのではなく、キャッシュから読み出されるということだ。このアプローチは、前述したMacのRosetta 2と近い。

かたやGPUについては、DirectX 11/12、Vulkan、OpenCL用のAdreno GPUドライバがあり、マッピングレイヤーを介してDirectX 9とOpenGL 4.6もサポートする予定だという。

ただし、いくつかの注意点はある。たとえばカーネルレベルのアンチチートドライバに依存するゲームは、エミュレーションでは動作しない。

アンチチートとはオンラインゲームでの不正行為を検出して取り締まる仕組みであり、大手のゲームソフトにはたいてい組み込まれている。Epic Gamesの超人気タイトル『Fortnite』もその1つであり、LinuxをベースとしたSteam Deckにとってもネックである。

Snapdragon X Eliteは、インテルCore Ultraの性能を圧倒することを示すベンチマーク結果も登場していた。これまでWindowsノートPCは、チップ内蔵GPUの場合はグラフィックの豪華なゲームを動かすのは不得意だったが、クアルコムがそこに革命を起こすと期待したいところだ。

関連キーワード: