Windows on Arm PC 支援透過 Prism 模擬執行 x86 和 x64 應用程式。 Prism 包含多項優化,確保模擬速度快速且效能優良,帶來良好的使用者體驗。
預設情況下,Prism 在效能優化與應用程式相容性之間取得最佳平衡。 在 Prism 下運行的應用程式出現相容性問題時,Windows 提供可選的模擬設定,讓你能調整 Prism 對該應用程式的行為與優化。 更改這些設定可能會提升應用程式的相容性,但通常會犧牲效能。
警告
更改模擬設定可能會導致應用程式意外當機或無法啟動。
開放模擬設定
你可以透過右鍵點擊應用程式的執行檔,選擇 屬性來進入模擬設定。
當你使用 Windows on Arm 時, 相容 性標籤中包含一個名為 Windows on Arm 的區塊。 選擇 「更改模擬設定 」以開啟 Arm 模擬設定視窗。
恢復先前模擬器的行為
Windows on Arm 持續改進與演進。 如果應用程式遇到問題,但之前在 Windows on Arm 版本上運作,覆寫 Prism 的行為使其與先前版本 Windows on Arm 相同,可能就能解決問題。
隱藏 x64 模擬功能
當你選擇這個選項時,x86 應用程式會發現 x64 程式碼無法在這台裝置上執行。 此選項模擬了 Windows 10 版 Arm 中模擬器的應用程式支援。
隱藏較新的模擬 CPU 功能
在 Windows 11 24H2 及更新版本中,Prism 支援先前版本 Windows on Arm 不支援的額外 CPU 功能。 這些功能包括 AVX 和 AVX2,以及 BMI、FMA、F16C 和其他相關的 x86 指令集擴充。
當你選擇此選項時,模擬器會回復到先前版本 Prism 中存在的 CPU 功能支援層級。
對於 32 位元 x86 應用程式,這個選項會被一個顯示 較新的模擬 CPU 功能所取代。 預設情況下,Prism 不會將前面提到的 CPU 功能暴露給 32 位元 x86 應用程式。 當你選擇這個選項時,32位元的x86應用程式就能偵測並使用更新後的CPU功能集。
模擬設定
Arm 模擬設定視窗提供兩種修改模擬設定的方式。 你可以選擇一組預先定義的模擬設定,或選擇 「使用進階設定 」選項來啟用個別設定的選擇。
四組預先定義的模擬設定如下:
- 預設
- 安全
- 嚴格
- 非常嚴格
從預設、安全、嚴格到非常嚴格,會增加模擬設定,並在效能上做出交換,以提升相容性為代價。
如果你選擇 「使用進階設定」,可以調整應用程式如何使用多個 CPU 核心,從快速、嚴格多核心操作、非常嚴格或強制單核心操作中切換。
多核心設定改變了 Prism 在模擬過程中使用記憶體障礙來同步應用程式核心間記憶體存取的方式。 快速是預設模式,對大多數應用程式來說是最佳平衡。 嚴格且非常嚴格的選項會增加障礙,雖然會拖慢應用程式速度,但降低應用程式錯誤的風險。 單核心選項消除所有障礙,但強制所有應用程式執行緒在單一核心上執行,以避免同步的需求。
其餘模擬設定如下表所述。
| 模擬設定 | 結果 |
|---|---|
| 停用應用程式快取 | 作業系統會快取已編譯的程式碼區塊,以減少後續執行時的模擬負擔。 這個設定需要模擬器在運行時間重新編譯所有應用程式程序代碼。 |
| 關閉混合執行模式(僅限 x86 應用程式) | 編譯混合可攜式執行檔(CHPE)二進位檔是 x86 相容的二進位檔,包含原生 Arm64 程式碼以提升效能,但可能與某些應用程式不相容。 此設定禁用這些混合二進位檔,改為純 x86 二進位檔。 |
| 其他輕量化模擬保護 | 此設定會讓 Prism 忽略二進位檔中任何 揮發性元資料 的存在。 |
| 嚴格自我修改程式碼支援 | 啟用此設定以確保任何自我修改程式碼在模擬中都能被正確支援。 預設模擬器行為涵蓋最常見的自我修改程序代碼案例。 選擇此選項會大幅降低自我修改程式碼在執行中的效能。 |
| 停用 RWX 頁面效能優化 | 此設定會禁用提升可讀、可寫及可執行(RWX)頁面程式碼效能的優化,但可能與某些應用程式不相容。 |
| 停用浮點數優化 | x87 是 x86 指令集擴充,主要用於部分較舊的 x86 軟體中,用以執行浮點運算,該浮點運算可以使用更高精度的 80 位元浮點格式,而這對大多數使用 x87 的軟體來說並不必要。 選擇此選項後,Prism 將使用完整的 80 位元精度,而非 64 位元近似,但效能會有所損失。 |