Windows on Arm搭載のx86/x64エミュ「Prism」がAVX/AVX2などのCPU拡張命令にも対応へ
このコーナーでは、「Windows 11 Insider Preview」ビルドでテストされている最新のOS機能を紹介します。ただし、テストの結果、紹介した機能が製品版OSに搭載されないこともあります。あらかじめご留意ください。 ARM64 CPUを搭載した「Windows on Arm」デバイスには、x86/x64アプリを実行するために「Prism」と呼ばれるエミュレーターが搭載されている。デバイスのCPUアーキテクチャーやアプリのバイナリ互換性を気にしなくても、たいていのWindowsアプリが「Windows on Arm」デバイスでそのまま動作するのは、「Prism」のおかげだ。 しかし、今の「Prism」が万能というわけではない。とくにAVX/AVX2、BMI、FMA、F16Cといったx86命令セット(ISA)拡張を前提とするアプリは、「Prism」で動作しないことが多かった。 米国時間11月6日にCanaryチャネルでリリースされた「Windows 11 Insider Preview」Build 27744には、この問題を解決するための「Prism」メジャーアップデートが含まれているとのこと。新しい「Prism」は、x64アプリをARM64環境で実行する際、AVX/AVX2、BMI、FMA、F16CなどのCPU拡張命令セットもエミュレートできるため、これまで動作しなかったり、CPU要件を満たさないとして起動をブロックされていたアプリやゲームを動かせる可能性がある。CPU拡張命令セットへの対応状況は、「Coreinfo」などのツールで確認できる。 ただし、32bitアプリや32bitヘルパーを利用してCPU機能を検出する64bitアプリでは、CPU拡張命令セットの検出が機能しない点には注意したい。 実は、この新しい「Prism」は製品版の「Windows 11 2024 Update」で限定的に搭載されており、「Adobe Premiere Pro 25」など、特定のアプリをARM64デバイスで動かすため用いられているとのこと。Build 27744以降では、この機能が64bit x86(x64)アプリすべてに開放されるというわけだ。 なかには互換性がなかったり、顕著なパフォーマンス低下が発生するアプリもあるかもしれないが、その場合は「フィードバック Hub」アプリを利用して積極的に報告するようにしたい。
窓の杜,樽井 秀人