畫質升級指南 RETRO UPSCALE GUIDE · HK

模擬器Run-Ahead功能減少輸入延遲的原理與原裝主機延遲的客觀比較

解釋軟體模擬器Run-Ahead功能的延遲補償原理,並與原裝主機及FPGA硬體模擬的輸入延遲進行客觀比較。

Run-Ahead功能能否讓模擬器延遲低於原裝主機?

按下按鈕到角色跳起,中間的時間差就是輸入延遲。原裝主機接駁CRT螢幕,延遲約0至16.67毫秒。接上現代顯示器後,即使經過RetroTINK-4K或OSSC等升頻器,總延遲仍會增至約10至22毫秒。模擬器的Run-Ahead功能可以把這個數字壓得更低,甚至超越原裝主機加CRT的組合。前提是,你必須先理解它的原理與限制。這篇模擬器Run-Ahead輸入延遲與原裝主機比較,將從訊號鏈的每個環節拆解,說明Run-Ahead如何運作、它無法解決甚麼,以及你該如何設定才能獲得最低延遲。

Run-Ahead延遲補償原理:預先運算與跳過幀緩衝

模擬器本質上是一個軟體。它必須在作業系統上接收你的控制器輸入,處理遊戲邏輯,繪製畫面,再等待垂直同步送出幀。這個流程本身就會引入至少1至3幀的延遲,因為模擬器必須緩衝一整幀完成的畫面才能輸出。RetroArch在2018年由開發者Dwedit引入的Run-Ahead功能,徹底改變了這個順序。

預先運算並跳過指定幀數

Run-Ahead的核心概念是預先運算並跳過指定幀數,以抵消原生硬件延遲。舉例來說,若你設定Run-Ahead為2幀,模擬器會在收到控制器輸入後,立即在背景預先運算接下來的2幀遊戲狀態,然後直接輸出第2幀的畫面,跳過中間的2個幀緩衝。你的輸入不需要等待模擬器完成整幀繪製再反應,而是幾乎即時地作用在畫面上。

最大有效幀數與限制

Run-Ahead並非設定越高越好。RetroArch文件指出,最大有效幀數依核心及遊戲而異,通常為1至4幀。超過這個範圍,遊戲可能出現邏輯錯誤,例如物理碰撞失效或角色穿牆。原因是某些遊戲的內部狀態依賴逐幀更新的變數,跳過太多幀會破壞這些依賴關係。你應該從2幀開始測試,逐步增加直到遊戲出現異常,再退回一幀。

Run-Ahead無法解決的延遲

Run-Ahead只補償模擬器內部的幀緩衝延遲。它無法消除控制器本身的延遲、USB輪詢率的限制、藍牙干擾造成的波動,以及顯示器處理訊號的時間。有線USB控制器延遲約4至8毫秒,藍牙控制器延遲約8至20毫秒,顯示器在遊戲模式下的輸入延遲約9至20毫秒。即使Run-Ahead將模擬器內部延遲降至接近零,總延遲仍會受到這些環節的限制。

模擬器與實機延遲差距:訊號鏈累加原理

要客觀比較模擬器與原裝主機的延遲,你必須將整個訊號鏈每個環節的延遲累加起來。原裝主機的訊號鏈是:控制器延遲加上主機內部處理延遲,加上升頻器延遲(如有),再加上顯示器延遲。模擬器的訊號鏈則是:控制器延遲加上電腦USB或藍牙接收延遲,加上模擬器內部處理延遲(含Run-Ahead),再加上顯示器延遲。

原裝主機加升頻器的典型延遲

以原裝超任為例。控制器延遲約4至8毫秒,主機內部延遲約1至2毫秒,經過RetroTINK-5X Pro(逐行掃描模式下延遲低於1毫秒),再接上一台延遲約9至20毫秒的現代顯示器,總延遲約為14至31毫秒。使用OSSC時,延遲數字相近。若接駁CRT顯示器,總延遲可降至約5至10毫秒,因為CRT沒有幀緩衝。

模擬器加Run-Ahead的典型延遲

模擬器方面,使用有線USB控制器,延遲約4至8毫秒。電腦的USB輪詢率通常為1000Hz,即1毫秒間隔。模擬器內部在開啟Run-Ahead 2幀後,延遲可被補償至接近0毫秒。再配上延遲約9至20毫秒的顯示器,總延遲約為14至29毫秒。這與原裝主機加升頻器的組合幾乎持平,甚至略低。若使用高階顯示器,延遲約4至5毫秒,模擬器加Run-Ahead的總延遲可低至約10毫秒,已低於原裝主機加CRT約16毫秒的上限。

延遲測試方法的可信度

這些數字來自業界標準測試工具,包括Time Sleuth延遲測試器(由RetroRGB / Citrus3000psi於2019年發布)、Leo Bodnar延遲測試器(2012年發布),以及MiSTer FPGA延遲測試核心(2021年發布)。高速攝影機(1000fps以上)拍攝控制器LED與屏幕變化的方法,則是最直接的驗證手段。你可以在RetroArch的設定選單中啟用Run-Ahead後,使用MiSTer的測試核心來驗證實際延遲。

MiSTer FPGA延遲測試:硬體模擬的延遲基準

MiSTer FPGA不是軟體模擬器。它在硬體層面重現原始電路,開機即進入遊戲,沒有作業系統載入畫面。這使其輸入延遲極低,常被用作軟體模擬器延遲的比較基準。MiSTer FPGA的延遲測試核心可以精確量測從控制器輸入到畫面輸出的總延遲。測試結果顯示,在逐行掃描模式下,MiSTer FPGA的內部延遲低於1毫秒,與RetroTINK-4K或OSSC在framelock模式下的延遲相當。

MiSTer FPGA與模擬器加Run-Ahead的比較

在實際測試中,MiSTer FPGA接駁現代顯示器(延遲約9至20毫秒)的總延遲約為10至21毫秒。軟體模擬器開啟Run-Ahead 2幀後,接駁相同顯示器的總延遲約為14至29毫秒。MiSTer FPGA在控制器延遲和內部處理延遲上仍保有約4至8毫秒的優勢,主要來自FPGA無需作業系統排程和USB協議轉換。對於追求極致延遲表現的玩家,MiSTer FPGA是目前無可爭議的選擇。

MiSTer FPGA的侷限

MiSTer FPGA的遊戲核心支援範圍仍在擴展中,部分較新的遊戲平台尚未有穩定的核心。此外,MiSTer FPGA的類比RGB輸出需要額外的IO板,對CRT螢幕的兼容性取決於你的設定。若你主要玩紅白機、超任、Mega Drive等16位元主機的遊戲,MiSTer FPGA是最低延遲的方案。若你玩的是PS2或Saturn等光碟主機的遊戲,軟體模擬器加Run-Ahead可能是更實際的選擇。

RetroTINK升頻器延遲累加:訊號鏈中的一個關鍵環節

RetroTINK-4K和RetroTINK-5X Pro是現代懷舊玩家常用的升頻器。它們的延遲表現直接影響原裝主機接駁現代顯示器的總延遲。根據製造商RetroTINK LLC的規格,RetroTINK-4K在逐行掃描訊號、framelock模式下的輸入延遲低於1毫秒;在Gen Lock模式下則約0.25至1.5毫秒,視垂直同步位置而定。對於480i去交錯,延遲則增加至約4至8毫秒,依去交錯演算法而異。RetroTINK-5X Pro的延遲數字與4K版本相同。

升頻器延遲的累加效應

當你將原裝主機接駁到RetroTINK升頻器,再連接到現代顯示器時,延遲是累加的。原裝主機的內部延遲約1至2毫秒,加上RetroTINK的低於1毫秒,再加上顯示器的9至20毫秒,總延遲約為10至22毫秒。這個數字與模擬器加Run-Ahead的14至29毫秒非常接近,差距主要來自控制器延遲和顯示器延遲的波動。

去交錯模式對延遲的影響

若你玩的是PS2或Saturn等480i遊戲,去交錯模式會顯著增加延遲。RetroTINK的Motion Adaptive去交錯模式延遲約4至8毫秒,而OSSC的Bob去交錯模式延遲低於2毫秒。選擇較低延遲的去交錯模式,可以讓總延遲減少約2至6毫秒。對於節奏遊戲或動作遊戲來說,這個差距是明顯可感的。

不同配置的輸入延遲比較(毫秒)
配置控制器延遲主機/模擬器內部延遲升頻器延遲顯示器延遲總延遲範圍
原裝主機 + CRT4–8 ms1–2 ms0 ms0 ms5–10 ms
原裝主機 + RetroTINK-4K + 現代顯示器4–8 ms1–2 ms<1 ms9–20 ms14–31 ms
原裝主機 + OSSC + 現代顯示器4–8 ms1–2 ms<1 ms9–20 ms14–31 ms
模擬器(無Run-Ahead)+ 現代顯示器4–8 ms16–33 ms(1–2幀)0 ms9–20 ms29–61 ms
模擬器 + Run-Ahead 2幀 + 現代顯示器4–8 ms接近0 ms0 ms9–20 ms13–28 ms
MiSTer FPGA + 現代顯示器4–8 ms<1 ms0 ms9–20 ms13–29 ms

香港居住環境中2.4GHz無線干擾對藍牙控制器延遲的實務影響

在香港的密集居住環境中,2.4GHz頻段被Wi-Fi、藍牙、無線滑鼠甚至微波爐共用。這對藍牙控制器的延遲有直接且可量測的影響。實驗室環境下藍牙控制器延遲約8至20毫秒。但在實際香港住宅中,當你同時開啟多個Wi-Fi網絡、使用無線耳機或附近有大量電器時,藍牙控制器的延遲可增加至20毫秒以上,且波動劇烈。

實務建議:有線控制器是更可靠的選擇

若你使用模擬器並開啟Run-Ahead來追求最低延遲,你應該優先選擇有線USB控制器。有線控制器的延遲約4至8毫秒,且不受環境干擾影響。若你必須使用藍牙控制器,請將電腦的藍牙接收器放在控制器附近,避免被金屬物體阻擋,並關閉不必要的無線裝置以減少干擾。你可以在RetroArch的設定中啟用「輸入延遲顯示」功能,即時監控你的控制器延遲波動。

Common Questions

Run-Ahead是否支援所有模擬器核心?

Run-Ahead是RetroArch的功能,並非所有核心都支援。在選擇核心時,請檢查核心說明中是否標示支援Run-Ahead。不支援的核心通常會在設定選單中將Run-Ahead選項灰化。

Run-Ahead設定為多少幀最適合?

從2幀開始測試。若遊戲運行正常且延遲明顯降低,則維持2幀。若遊戲出現物理異常或畫面撕裂,則減少至1幀。部分核心可支援至4幀,但需逐遊戲測試。

MiSTer FPGA的延遲是否一定低於模擬器加Run-Ahead?

在控制器和顯示器相同的情況下,MiSTer FPGA的內部延遲低於1毫秒,而模擬器加Run-Ahead可將內部延遲補償至接近0毫秒。兩者的總延遲非常接近,MiSTer FPGA在控制器延遲上仍有約4至8毫秒的優勢。

RetroTINK-4K的去交錯延遲是否會影響遊戲體驗?

對於480i遊戲,RetroTINK-4K的去交錯延遲約4至8毫秒,這個數字對多數玩家來說是可以接受的。但對於節奏遊戲或格鬥遊戲,你可能需要選擇較低延遲的去交錯模式,或使用OSSC的Bob去交錯模式。