用 Android 手機、平板或安卓掌機玩模擬器時,「卡」其實分成好幾種:一打開遊戲就卡、玩一陣子才慢下來、畫面還算順但聲音斷斷續續、只有讀取時停住。原因不同,要改的地方也不同,憑感覺亂改設定,常常越改越糟。
這篇教學的做法是:先打開速度顯示,用數字確認「是不是真的變慢、從什麼時候開始慢」,再依症狀一步一步排查。內容以各模擬器共通的觀念為主,例子使用 RetroArch 與 PPSSPP,選單位置與預設值以 RetroArch 1.22.2、PPSSPP 1.20.4(2026 年 9 月時的穩定版)確認。各模擬器的完整推薦設定、手機怎麼挑,不在本文範圍。
介面名稱以英文為主。兩款模擬器都有繁體中文介面,文中只附上已確認過的中文名稱;中文譯名有少數容易誤會的地方,會另外提醒。
步驟 1:打開 FPS 與速度顯示,先確認是不是真的變慢
「感覺卡」和「模擬速度真的不夠」不一定是同一件事。動任何設定之前,先把數字叫出來。
RetroArch
- 進入 Settings > User Interface > On-Screen Notifications,確認螢幕通知是開啟的。沒開的話,下一層的選項不會出現。
- 進入 Notification Visibility,打開 Display Framerate(預設關閉)。想看更多資訊,可以再打開 Display Statistics。
- 使用中文介面時,路徑是「選單 > 螢幕通知 > 通知內容」,項目名稱為「顯示幀率 (FPS)」與「顯示技術資訊」。
PPSSPP
- 進入 Settings > Graphics,找到 Overlay information(覆疊資訊)。
- 勾選 Show FPS counter(顯示 FPS 計數器)與 Show Speed(顯示速度)。
看數字的重點
- 基準不是「有沒有 60fps」,而是「是不是該主機原本的速度」。速度顯示在 100% 附近,就代表模擬速度沒有不足,只盯著 FPS 容易誤判。
- 速度接近 100% 卻還是覺得不順,問題比較可能出在畫面同步或聲音設定,而不是效能不夠(見步驟 4)。
- 在同一個場景,比較「剛開始玩」與「玩了一段時間後」的數字。一開始就不到 100%,多半是設定負荷或手機效能的問題;一開始正常、後來才掉下來,就要懷疑發熱。
- 本文不提供「掉到幾 %、玩幾分鐘就是什麼原因」這種門檻。手機、核心、遊戲的差異很大,請以自己手機前後的數字比較為準。
到巴哈姆特或 PTT 發問時,把「速度或 FPS 數字、從什麼時候開始掉、使用的模擬器與核心、改過哪些設定」一起寫上,會比只寫「很卡」更容易得到有用的回覆。
步驟 2:一開始就卡——先關掉會加重負荷的設定
如果一開遊戲速度就到不了 100%,先檢查是不是自己開了會增加負擔的功能。以下都是官方文件或設定說明中明確寫到會加重負荷的項目。
RetroArch:先檢查這三項
- Run-Ahead(超前執行):位置在 Settings > Latency > Run-Ahead。這是用來降低輸入延遲的功能,但官方說明往前多跑的影格數越多,對 CPU 的要求就越高;官方疑難排解文件在「Low frame rate」一項中,也列出了關閉 Run-Ahead。
- Rewind Support(開啟倒帶):位置在 Settings > Frame Throttle > Rewind,預設關閉。設定說明直接寫著 “This causes a severe performance hit when playing.”,如果之前為了倒帶打開過,卡頓時請先關掉。
- Shaders(著色器):在 Quick Menu > Shaders。官方文件指出,精確模擬 CRT 映像管的重型著色器,特別是在高解析度螢幕上,會提高效能需求;疑難排解文件同樣建議先停用著色器。
PPSSPP:解析度與紋理縮放
- Rendering resolution(轉譯解析度):Android 版的預設值,螢幕長邊 1000px 以上的裝置為 2x PSP,其他為 1x。官方文件說明調到 1x 以上可能影響效能,卡的時候先降回 1x PSP 比較看看。
- Texture upscaling(紋理縮放):底下有 Upscale type / Upscale level(放大類型 (CPU) / 放大層級),其中 Upscale level 預設為 Off(不放大)。介面上的提示寫著 “CPU heavy – some scaling may be delayed to avoid stutter”,如果有開,請先關掉再比較。
還原到原生解析度仍然跑不動,就是手機的上限
負荷設定都關了,核心若有提高內部解析度的選項也還原到原生(1x),速度還是到不了 100%,就代表這台手機跑這個核心已經到頂,繼續調設定的空間很小。這時可以考慮換比較輕的核心或模擬器、接受跳格帶來的畫面不連貫,或是換機(怎麼挑手機不在本文範圍)。
補充一點:使用 Adreno GPU 的手機,PPSSPP、Dolphin 等部分模擬器可以載入自訂 GPU 驅動(Turnip);Mali 系列 GPU 則沒有同等的手段。這屬於進階話題,本文不展開。
跳格(Frameskip)要去哪裡開
- RetroArch 本體沒有一般遊玩用的跳格設定,只有快轉時使用的 Fast-Forward Frameskip。跳格要到各核心的核心選項裡找,例如 PCSX ReARMed 的 Frameskip(預設 disabled),說明寫著 “Skip frames to avoid audio buffer under-run (crackling). Improves performance at the expense of visual smoothness.”,也就是用畫面流暢度換取速度與聲音穩定。
- PPSSPP 的跳格在本體的 Settings > Graphics,名稱是 Frame skipping(影格跳過,預設 Off)。另外還有 Auto frameskip(自動影格跳過,預設關閉),官方文件表示一般不建議使用,只適合效能非常低的裝置。
Threaded Video 不是「卡就打開」的設定
RetroArch 的 Threaded Video(Settings > Video > Output,預設關閉)常被當成卡頓時的救星,但它的設定說明是這樣寫的:
Improves performance at the cost of latency and more video stuttering. Use only if full speed cannot be obtained otherwise.
意思是用延遲增加、畫面更容易頓換取效能,只有在其他方法都無法達到全速時才考慮。官方文件也提到,它會干擾畫面節奏與聲音同步。另外,在 1.22.2 版中,使用 GPU(硬體)繪製的核心不會套用這個設定,只有軟體繪製的核心才有作用。
還要注意,RetroArch 繁體中文介面把這個項目譯成「單執行緒影像處理」,意思和英文原文剛好相反,很容易誤會。請以英文名稱 Threaded Video 為準,中文介面中位於「顯示 > 輸出」底下。
步驟 3:玩一陣子才變慢——懷疑過熱降頻與省電模式
剛開始速度正常、玩了一段時間才往下掉,最先要懷疑的是發熱。Android 開發者文件寫得很直接:
Devices can only maintain a high level of performance for a limited amount of time before being thermally throttled.
也就是手機只能在有限的時間內維持高效能,溫度上來後就會降頻。多久會開始降頻,依機型、環境溫度、遊戲而不同,沒有通用的分鐘數。
確認方法
- 在固定的場景記下剛開始玩時的速度數字。
- 繼續玩一段時間,回到同一個或類似的場景再看一次。
- 讓手機休息降溫後重新開始,如果數字又回到原本的水準,發熱的可能性就很高。
容易讓手機更熱、更慢的狀況
- 邊充電邊玩:手機製造商的官方指南也提醒,一邊充電一邊跑高負載遊戲會更容易感到發熱(詳見後面台灣夏天的章節)。
- 不容易散熱的環境:蓋在棉被裡、放在包包裡玩、陽光直射、車內等。
- 省電模式沒關:以 Google Pixel 為例,Pixel 4 以後機型的標準 Battery Saver 會關閉 Smooth display(高更新率),Extreme Battery Saver 則會讓 CPU 變慢。Samsung Galaxy 的 Power saving 還有 Limit CPU speed to 70% 選項,而且開啟省電模式時,畫面會切換到 Standard(60Hz)。開始玩之前,先確認沒有開著省電模式。
遊戲模式不一定對模擬器有效
Android 12 的部分機型與 Android 13 以上的手機有 Game Mode(遊戲模式),可以切換 Performance、Battery 等模式,但前提是遊戲本身有實作,或手機廠商另外介入。模擬器 App 有沒有被當成遊戲、會不會有效果,要看手機與 App 而定,不要期待「開了遊戲模式就變快」。至於 RetroArch 設定中的 Game Mode,是 Linux 專用的功能,Android 版沒有這個項目。
步驟 4:聲音斷斷續續、爆音——先分清楚是速度不夠還是音訊設定
聲音「噗滋噗滋」地斷掉時,先回頭看步驟 1 的速度數字,再決定往哪個方向處理。
速度不到 100%:先解決效能問題
模擬速度跟不上時,音訊緩衝來不及補充,就會出現爆音或斷音。這種情況只改音訊設定是治標不治本,應該回到步驟 2、步驟 3 降低負荷或處理發熱。真的跑不動時,核心選項裡的跳格(前面 PCSX ReARMed 的例子)正是為了避免這種爆音而設計的。
速度接近 100% 還是斷音:檢查 Audio Latency
- 位置:RetroArch 的 Settings > Audio > Output > Audio Latency (ms)(音訊延遲 (毫秒)),在 Settings > Latency 裡也找得到同一個項目。
- Android 版的預設值是 128 ms。
- 有些人為了降低延遲把這個值調小,但官方文件說它 “perhaps unintuitively should be kept higher, not lower.”。調得太低,緩衝來不及補充,反而會出現斷音。如果曾經調低過,先改回預設值再比較。
Dynamic Audio Rate Control 不是「打開就不會斷音」
有一種說法是「聲音斷斷續續就把 Dynamic Rate Control 打開」,但這並不正確:
- 設定中的正式名稱是 Dynamic Audio Rate Control(動態音訊速率控制),位置在 Settings > Audio > Synchronization。
- 它不是開關而是數值,預設 0.005,設為 0 才是關閉。也就是說,預設狀態下它就已經在運作,不需要另外「打開」。
- 它的作用是修正螢幕更新率與核心時序之間的微小差異(預設在 ±0.5% 的範圍內調整),設定說明是 “Helps smooth out imperfections in timing when synchronizing audio and video.”。模擬速度不夠所造成的斷音,它補不回來。
高更新率螢幕的兩個相關設定
RetroArch 的 Settings > Video > Synchronization > VSync Swap Interval(垂直同步切換間隔,預設 1)設為 Auto 時,會依核心回報的影格率決定倍數,設定說明舉的例子就是在 120Hz 螢幕上跑 60fps 的內容時改善畫面節奏。Settings > Video > Output > Vertical Refresh Rate(垂直更新率)則是用來計算合適的音訊輸入速率,可以從 Estimated Screen Refresh Rate 帶入數值。Android 版不會出現 Automatic Refresh Rate Switch 這個項目。目前沒有確認到「120Hz 一定比較卡、改成 60Hz 就會好」的根據,建議把手機本身的螢幕更新率設定和這兩個項目一起看,再用速度數字比較。
步驟 5:只有讀取時卡住——光碟類主機的讀取方式與記憶卡
PS1 這類光碟主機的遊戲,在遊玩過程中也會存取光碟資料。RetroArch 核心的官方說明提到的是「儲存空間慢的裝置上的卡頓」與「模擬光碟存取造成的卡頓」,不只發生在讀取畫面,遊戲中途也可能因讀取頓一下。PS1 核心有對應的核心選項:
| 核心 | 核心選項 | 預設值 | 說明 |
|---|---|---|---|
| Beetle PSX HW | CD Access Method | Synchronous | 改成 Asynchronous 可以減少儲存空間慢的裝置上的卡頓;Pre-Cache 會把整個光碟映像讀進記憶體,記憶體少的裝置可能出問題,變更後需要重新啟動 |
| SwanStation | CD-ROM Read Thread | Enabled | 非同步預先讀取光碟磁區,降低影格時間突然拉長的風險 |
| SwanStation | Preload CD-ROM Image To RAM/Pre-cache CHD Images To RAM | Disabled | 把光碟映像預先載入記憶體 |
| PCSX ReARMed | CD read-ahead | 12 個磁區 | 預先讀取的磁區數 |
把映像整個載入記憶體的做法會多佔用記憶體,記憶體較少的手機要特別留意。
microSD 記憶卡
遊戲放在 microSD 記憶卡時,可以留意卡片有沒有 A2 標示。不過 SD Association 的說明是 “A2 performance is available only the combination of A2 supported host and A2 supported card.”,手機本身不支援 A2,買了 A2 卡也發揮不出 A2 的效能。內部儲存空間是不是一定比記憶卡快,找不到官方的比較資料可以參考,最實際的做法是把同一個遊戲放在兩邊各試一次,比較速度數字與讀取時的卡頓。
檔案存取方式與背景 App
- Dolphin 官方部落格說明,Android 的 Storage Access Framework 讀取非常慢,但影響的是遊戲清單的載入時間,原文是 “this does not actually affect emulation performance.”。遊戲清單載入慢,不代表遊玩時會卡。
- 開發者選項中的 Background process limit(背景處理程序限制)確實存在,但 Android 官方文件把它定位為讓 App 開發者確認 App 行為的工具,並沒有提到能提升遊戲效能,本文不建議把它當成卡頓對策。
台灣夏天玩模擬器:手機散熱器怎麼選,半導體致冷的冷凝水風險與邊充邊玩
台灣夏天又熱又潮濕,手機散熱本來就吃力,長時間玩模擬器更容易碰到步驟 3 的降頻。以下先整理不用花錢就能做的事,再談散熱器怎麼選、半導體致冷款要注意什麼。
先做不花錢的事
- 留意使用溫度:Samsung 韓國官網的夏季使用指南寫明,產品的適當使用溫度是 0~35°C,並列出陽光直射、車內等高溫環境要避免。
- 不要把手機悶著玩:同一份指南把棉被下、枕頭下、口袋、包包等不容易散熱的地方列為應避免的環境,也提醒不要使用非原廠充電器或破損的線材。
- 確認沒開省電模式:省電模式可能限制 CPU 或把螢幕切回 60Hz(步驟 3)。想比較散熱效果時,前後條件要一致。
邊充邊玩要注意什麼
同一份 Samsung 指南提到,一邊充電一邊玩高負載遊戲、或使用處理器負荷高的 App 時,因為使用裝置與電池充電同時進行,會更容易感覺到發熱。如果玩一陣子就掉速,可以試試先把電充好、拔掉充電線再玩,用速度數字比較兩種情況的差異。Galaxy 的 Game Booster 雖然有繞過電池直接供電的 Pause USB Power Delivery 功能(需要支援 PPS 的 25W 以上 PD 充電器等條件),但 Samsung 說明 Game Booster 只適用於遊戲 App,模擬器能不能用,要先確認它有沒有被當成遊戲。
風扇式與半導體致冷式的差別
在 PChome 24h購物 搜尋「手機散熱器」,可以看到單純吹風的風扇式,以及標榜「半導體製冷」「真結冰」的磁吸、背夾款式,選擇相當多(2026 年 9 月確認)。兩種類型的差別大致如下:
| 比較項目 | 風扇式 | 半導體致冷式 |
|---|---|---|
| 原理 | 用風扇吹動空氣,帶走機身表面的熱 | 用致冷片讓貼住手機的那一面變冷,另一面產生的熱再由風扇排出 |
| 冷凝水 | 原理上不會把機身冷到比周圍空氣低 | 接觸面可能比周圍空氣冷,有結露的可能 |
| 手機殼 | 依夾具設計而定 | 有廠商建議直接貼在手機本體,不要隔著手機殼 |
| 裝上後怎麼驗收 | 同一場景、同樣時間,比較速度數字 | 比較速度數字,並檢查手機與散熱器之間有沒有水氣 |
選購時,可以先想清楚這幾件事:
- 手機殼要不要拆:考慮半導體致冷款的話,要有拆殼使用的心理準備。
- 固定方式合不合:磁吸或背夾,是否適合自己的手機大小與握法;如果用伸縮手把夾著手機玩,散熱器會不會卡到手把。
- 接線是否礙事:需要接線供電的款式,要確認線的位置不會妨礙握持,也別忘了邊充邊玩本身就會增加發熱。
半導體致冷的冷凝水風險
冷凝水(結露)是半導體致冷散熱器最需要注意的地方,而且廠商自己也承認會發生:
- 有一家散熱器廠商在產品 FAQ 中表示,裝著手機殼使用時,手機殼與手機本體之間會產生溫差而結露、積水,因此不建議搭配手機殼,應直接貼在手機上使用。
- 另一家電競手機品牌的官方 FAQ 則寫道 “A small amount of condensation is perfectly normal”,並表示少量結露不會損壞手機。
換句話說,會不會結露,廠商的答案是「會」;會不會造成損害,各家說法不同。空氣中的水氣越多,冰冷的表面越容易結露,台灣夏天濕度高,更不能忽視。實際使用時建議:
- 不要隔著手機殼使用半導體致冷散熱器,依產品說明書的方式直接貼在機身上。
- 玩完拆下時,看看手機背面與散熱器接觸面有沒有水珠,有的話先擦乾。
- 用步驟 1 的速度數字確認效果:裝上散熱器後,同一個場景玩同樣的時間,數字有沒有比較穩定。沒有改善的話,卡頓的原因可能不在發熱。
另外,RetroArch Android 版在 Settings > Power Management 有 Sustained Performance Mode(持續效能模式,預設關閉,Android 7.0 以上,手機有支援時才會生效),它的用意是長時間維持穩定的效能而非追求最高效能,並不代表開了就會變快或不發熱。
症狀對照表:先確認什麼、先改什麼
| 症狀 | 先確認 | 先試的設定或做法 | 副作用與注意事項 |
|---|---|---|---|
| 一開始就卡,速度不到 100% | 有沒有開 Run-Ahead、Rewind Support、著色器 | 關閉上述功能;PPSSPP 降回 1x PSP、關閉紋理縮放 | 輸入延遲、畫面精細度回到原本的程度 |
| 負荷設定都關了仍不到 100% | 核心與模擬器的選擇 | 換較輕的核心;使用核心選項或 PPSSPP 的跳格 | 跳格會讓畫面不連貫 |
| 玩一陣子才變慢 | 前後的速度數字、是否邊充邊玩、省電模式 | 拔掉充電線、避開悶熱環境、關閉省電模式、使用散熱器 | 半導體致冷款要注意結露,不要隔著手機殼 |
| 速度 100% 附近但聲音斷續 | Audio Latency (ms) 是否被調低 | 改回預設 128 ms 再比較 | 數值是延遲的上限,調高時要留意延遲感 |
| 速度不足而且爆音 | 步驟 2、步驟 3 的項目 | 先解決效能;必要時使用核心選項的跳格 | Dynamic Audio Rate Control 補不回速度不足 |
| PS1 等光碟遊戲在讀取時頓住 | 核心的光碟讀取選項、遊戲存放位置 | Beetle PSX HW 的 CD Access Method 改成 Asynchronous;比較內部儲存空間與記憶卡 | Pre-Cache 需要記憶體,變更後要重新啟動 |
| 開了 Threaded Video 反而更不順 | 核心是軟體繪製還是 GPU 繪製 | 改回預設的關閉 | 開啟時延遲與畫面頓挫會增加 |
遊戲資料的前提
本文只談模擬器的設定,不提供任何取得遊戲資料的管道。遊戲映像檔與主機 BIOS 受著作權保護,在台灣從網路下載未經權利人授權而散布的遊戲或 BIOS,可能違反《著作權法》,請不要這麼做。請自行從手上的正版遊戲與主機備份。即使是自行備份,是否符合法律規定仍可能依個別情況而不同。
本文不構成法律意見,具體情況請洽詢專業人士。
總結:模擬器卡頓的排查清單
- 先看數字:打開 RetroArch 的 Display Framerate 或 PPSSPP 的 Show Speed,以「是否接近 100% 速度」為基準,並比較剛開始與玩一陣子後的數字。
- 一開始就卡:關閉 Run-Ahead、Rewind Support、著色器,PPSSPP 降回 1x PSP、關閉紋理縮放;還原到原生仍不夠,就是手機跑這個核心的上限。
- 玩一陣子才變慢:懷疑發熱,檢查是否邊充邊玩、環境是否悶熱、省電模式是否開著;使用半導體致冷散熱器時注意結露。
- 聲音斷斷續續:速度不足就先處理效能;速度正常時檢查 Audio Latency (ms) 是否被調低。Dynamic Audio Rate Control 預設就在運作,不是用來補救速度不足的。
- 讀取時卡住:PS1 等光碟遊戲試試核心的光碟讀取選項,並比較遊戲放在內部儲存空間與記憶卡的差異。
Threaded Video、跳格這類「用畫面品質或延遲換速度」的設定,請留到最後,而且每次只改一項,用數字確認有沒有效果。


コメント