畫面呈現模式與交換鏈延遲對照矩陣
在過去數十年的 PC 遊戲史中,「獨占全螢幕」(Exclusive Fullscreen / FSE)被職業電競選手視為降低輸入延遲的黃金法則,因為只有獨占全螢幕才能徹底繞過 Windows 桌面視窗管理員(DWM)的雙重合成緩衝區。但在 Windows 10(20H2+)與 Windows 11 中,隨著 DirectX 12 獨立翻轉模型(Independent Flip Model)與硬體翻轉佇列的引入,現代顯示管線架構已被徹底重構,傳統獨占全螢幕在現代遊戲引擎中已逐步被無邊框視窗化取代。
| 渲染呈現模式 | 支援圖形 API | 是否繞過 DWM 桌面合成 | 額外輸入延遲開銷 | 多顯示器切換 (Alt-Tab) 表現 |
|---|---|---|---|---|
| 傳統位元塊傳輸 (Blt / BitBlt) | D3D9 / D3D11 視窗化 | 否(在 DWM 顯示記憶體中二次中轉) | 增加 1 到 2 幀顯著延遲 | 瞬間切換桌面,無黑畫面但有明顯操作延遲 |
| 經典獨占全螢幕 (FSE) | D3D9 / D3D11 | 是(獨占顯示器實體掃描輸出) | 0 ms 硬體基準延遲 | 切換黑畫面閃爍 2-4 秒,HDR 易丟失 |
| 直接翻轉 (Direct Flip) | D3D11 / D3D12 視窗化 | 是(硬體無縫接管實體掃描) | 0 ms(與獨占全螢幕完全相同) | 瞬間切換桌面,完美保持 HDR 與色彩對應 |
| 獨立翻轉 (Independent Flip) | D3D12 無邊框全螢幕 | 是(完全繞開 DWM 合成器) | 與獨占全螢幕一致或更優 | 完美相容副螢幕聊天、直播推流與通訊工具 |
第一步:使用 PresentMon 檢測當前是否運作在硬體 Flip 模式
在做出設定決策前,必須確認遊戲在無邊框視窗化下是否已成功啟動低延遲硬體翻轉:
- 下載英特爾開源的
PresentMon效能與延遲分析工具。 - 將目標遊戲設定為「無邊框視窗化」(Borderless Windowed)。
- 觀察 PresentMon 監控介面中的
Presentation Mode(呈現模式)欄位:- 若顯示為
Hardware: Independent Flip或Composed: Flip,代表顯示卡驅動已直接繞開 DWM 緩衝區,正以硬體直通方式向顯示器掃描輸出,延遲與獨占全螢幕完全一致。 - 若顯示為
Composed: Copy with GDI或Composed: BitBlt,代表該老遊戲處於傳統視窗化下,存在額外延遲。
- 若顯示為
第二步:在 Windows 11 中開啟「視窗化遊戲最佳化」
Windows 11 提供了系統級全域開關,可將傳統老舊的 DX10/DX11 遊戲強行升級為現代 Flip 交換鏈:
- 開啟 Windows 設定(快捷鍵:Win + I)。
- 進入:系統 -> 螢幕 -> 顯示卡 -> 變更預設圖形設定。
- 將「視窗化遊戲的最佳化」(Optimizations for windowed games)切換為「開啟」。
- 該選項會將老舊的 BitBlt 交換鏈升級為現代 DXGI Flip Model,讓老遊戲的無邊框視窗模式直接獲得與獨占全螢幕完全同等的超低輸入延遲,並全面支援 Auto HDR 與可變更新率(VRR)。
第三步:必須退回獨占全螢幕的特定特例場景
儘管無邊框視窗化已成為現代 3A 大作的首選,但以下極少數邊緣場景仍建議保留傳統獨占全螢幕:
- 純粹基於 DirectX 9、DirectX 8 或老舊 OpenGL 架構開發且未套用 DXVK 轉換器的骨董遊戲。
- 需要以低於顯示器原生解析度(如 1080p 運行在 4K 螢幕)運行,且依賴顯示卡驅動級「整數縮放」(Integer Scaling)的遊戲。
- 主副顯示器更新率嚴重不對稱(如主螢幕 240 Hz、副螢幕 60 Hz),且副螢幕正在全螢幕硬體解碼播放硬體加速影片,導致主螢幕偶發微幅掉幀的極端多螢幕場景。