Snes9x-Z:高效能 Retroarch SNES 模擬器核心,雙核心渲染提升超過 60% 效能

Snes9x-Z 是基於 Snes9x v1.63 開發的效能最佳化版本,主要針對 SNES 模擬器的 CPU 與 PPU 渲染流程進行重新設計。

最大的特色是加入雙核心 PPU 渲染架構(Dual-Core PPU Rendering),在具備多核心 CPU 的電腦、Android 裝置及 ARM64 掌機上,可以降低模擬器的 CPU 負載並提升整體效能。

開發者表示,在測試遊戲中,平均效能提升約 61.2%(x86-64)、52.3%(ARM64),而且透過影像與音訊輸出雜湊比對,確認與原版 Snes9x 保持 bit-exact。

功能或特色

1. 基於 Snes9x v1.63

Snes9x-Z 並不是重新製作的 SNES 模擬器,而是以 Snes9x v1.63 的核心為基礎進行效能最佳化。

目前基準版本為 Snes9x upstream commit 7a8878f1(2026-09-04)。

2. 雙核心 PPU 渲染

專案最重要的改進是重新設計 PPU 渲染架構,將部分圖形處理工作放到另一個 CPU 核心執行。

在多核心 CPU 上,可以有效減少單一 CPU 核心的工作負擔。

3. 平均效能提升超過 50%

官方測試結果:

平台平均效能提升
x86-64+61.2%
ARM64+52.3%

測試包含《Donkey Kong Country》、《Star Fox》、《Super Mario World》、《F-Zero》、《Super Mario Kart》等 SNES 遊戲。

部分遊戲甚至達到:

  • Jurassic Park:x86-64 +98.4%
  • Donkey Kong Country:x86-64 +78.5%
  • Star Fox:x86-64 +65.0%
  • Super Mario World:x86-64 +71.1%

實際效能仍會受到 CPU、遊戲版本及 ROM 內容影響。

4. Bit-Exact 相容性

Snes9x-Z 的效能修改並不是單純犧牲模擬精度換取速度。

開發者透過固定間隔的 framebuffer 與 audio output 雜湊比對,確認輸出可以與原版 Snes9x 完全一致。

5. APU / DSP 音訊流程改善

除了圖像渲染之外,專案也針對 APU/DSP 音訊處理流程進行修正與最佳化。

即使關閉多執行緒渲染,這些單執行緒最佳化仍能帶來約 19.4%(x86-64)/ 19.9%(ARM64) 的平均效能提升。

6. 支援 RetroArch

Snes9x-Z 提供 Libretro Core,可以直接搭配 RetroArch 使用。

官方提供:

  • Linux 64-bit
  • Windows 64-bit
  • Android ARM64
  • Android ARMv7
  • macOS ARM64

的預先編譯版本。

7. 適合低功耗 ARM 掌機

這個專案特別以低功耗 ARM 掌機作為設計目標,因此對 Android 掌機、ARM Linux 裝置等硬體具有一定吸引力。

多核心 CPU 可以利用額外的 CPU 核心處理 PPU 渲染,讓原本較吃 CPU 的 SNES 遊戲獲得更多效能餘裕。


下載位置及安裝方式

官方 GitHub

Snes9x-Z GitHub 專案

官方 Releases 頁面提供已編譯好的核心,使用者不需要自行編譯。

Snes9x-Z Releases 下載頁面

RetroArch 安裝方式

如果使用預先編譯的 Libretro Core:

  1. 下載符合自己平台的 Snes9x-Z Core。
  2. 將 Core 檔案放入 RetroArch 的 cores 資料夾。
  3. 將 snes9x-Z_libretro.info 放入 RetroArch 的 info 資料夾。
  4. 開啟 RetroArch。
  5. 選擇 Load Core。
  6. 選擇 Snes9x-Z。
  7. 載入自己的 SNES / SFC 遊戲 ROM。

支援的 ROM 副檔名包括:

smc、sfc、swc、fig、bs。


注意事項

1. 多核心 CPU 才能充分發揮效能

Snes9x-Z 的主要效能提升來自多執行緒 PPU 渲染,因此需要額外 CPU 核心。

如果是在單核心 CPU上執行,啟用 Threaded Renderer 反而可能降低效能。官方因此提供 Threaded Renderer 選項,可以手動關閉。

2. 實際效能不一定等於官方測試數據

官方測試是在特定 Intel Xeon 與 Apple M4 Pro 硬體上進行,使用 -O3 -flto -DNDEBUG 編譯。

不同 CPU、作業系統、ROM 版本及遊戲場景,都可能造成實際效能有所差異。

3. 需要自行準備遊戲 ROM

專案並未提供商業 SNES 遊戲 ROM,官方測試所使用的遊戲 ROM 也沒有隨專案發布。

使用者應使用自己合法取得的遊戲 ROM。

4. 授權限制

Snes9x-Z 採用 Snes9x 授權條款,專案 README 特別標示為 Non-commercial, personal use,使用前建議詳細閱讀專案中的 LICENSE。

5. 適合與原版 Snes9x 做效能比較

如果你的電腦或掌機在某些 SNES 遊戲上出現效能不足,可以將 Snes9x-Z 與原版 Snes9x 做比較,特別是使用 ARM64 掌機或低功耗裝置時,可能更容易感受到最佳化帶來的差異。

blog.ocam.live
blog.ocam.live

關注科技新聞、SEO、人工智慧、電玩模擬器、程式設言、與 IT 日常等議題,深入簡出文章的說明並持續追蹤相關新聞的發展與報導。