VK_AMD_anti_lag 係 AMD 提出嘅 Vulkan extension,其概念係 限制 CPU 唔好跑得比 GPU 太前。當 CPU 排隊太多 frame,就會增加輸入延遲,而 Anti‑Lag 會自動調整節奏避免呢個情況。
同傳統做法唔同,呢個項目唔需要 GPU 驅動直接實作 extension,而係由 layer 自己處理:
向遊戲宣告 extension
Layer 會話畀遊戲聽系統支援 VK_NV_low_latency2 或 VK_AMD_anti_lag。
攔截 API 呼叫
當遊戲呼叫相關低延遲函式時,layer 會截住呢啲呼叫。
自己做 timing 同排程
Layer 控制 CPU frame timing、調整提交時機,同減少過多 frame 排隊。
簡單講,原本應該由 GPU 驅動處理嘅 latency pacing,改由 開源 layer 喺 user‑space 做。
呢種設計可以融入兩種常見 Linux 遊戲流程。
如果遊戲本身直接用 Vulkan,只要啟用呢個 layer,就可以讓遊戲見到低延遲 extension,並由 layer 負責底層排程。
大部分 Windows 遊戲喺 Linux 上會經過轉譯層,例如:
如果 Vulkan layer 喺底層提供呢個 extension,Proton 遊戲理論上都可以受惠。
Linux 社群其實早已有幾個相關嘗試。
但佢主要針對 AMD extension,而 low_latency_layer 嘗試同時提供:
目標係覆蓋更多遊戲。
low_latency_layer 可以視為類似理念,但更直接走 Vulkan extension 路線。
目前關於 low_latency_layer 本身嘅公開 benchmark 仍然唔多,所以未有全面同 Windows Reflex 或 Anti‑Lag 2 嘅比較。
不過一般低延遲技術嘅行為已經相當清楚:
呢類深度整合硬件與驅動嘅功能,generic Vulkan layer 通常做唔到。
長期以來,低延遲技術通常係:
Vulkan layer 模式帶來另一種可能:
如果呢個方向成熟,Linux 喺電競環境(例如 FPS 或競技射擊遊戲)嘅體驗有機會更接近 Windows。
當然,目前項目仍然早期,真正跨遊戲、跨硬件嘅表現仍需要更多測試數據。但作為概念驗證,low_latency_layer 已經展示咗:低延遲技術未必一定要依賴封閉嘅 GPU 驅動。
Comments
0 comments