一個名為 Asdf Overlay 的新 Windows 覆蓋層庫已經問世,為開發者提供了一種為遊戲和應用程式建立高效能覆蓋層的方法。該庫使用 Rust 構建,旨在解決多年來困擾覆蓋層開發的常見效能問題。
當前應用:
- Alspotron:遊戲內歌詞疊加層
- Tosu:遊戲內疊加層系統
GPU 加速架構消除效能瓶頸
該庫的突出特點是使用 GPU 共享紋理,而不是傳統的基於 CPU 的幀緩衝區複製。這種方法允許任何大小的覆蓋層都能在不損失效能的情況下渲染,解決了開發者面臨的一個主要痛點。該系統透過鉤入各種渲染後端來工作,支援從較老的 DirectX 9 到現代 Vulkan 和 DirectX 12 API 的所有內容。
社群中的一位開發者對這種方法表示了熱情,指出他們之前曾多次在覆蓋層實現上遇到困難。全面的 API 支援意味著該庫可以與傳統遊戲和尖端遊戲相容。
支援的渲染 API:
- OpenGL
- DirectX 9、10、11、12
- Vulkan
遊戲社群表現出強烈興趣
遊戲和模擬賽車社群對這項技術表現出了特別的興趣。關於與流行反作弊系統如 Easy Anti-Cheat 和 Vanguard 的相容性問題已經出現,這些系統通常會阻止覆蓋層應用程式。來自 iRacing 和模擬賽車世界的社群成員看到了潛在的應用,特別是用於嵌入類似 OpenKneeboard 的外部應用程式。
人們也對透過 OpenXR 和 OpenVR 提供未來 VR 支援感到好奇,這可能會將該庫的實用性擴充套件到傳統桌面遊戲之外。
名稱選擇引發社群討論
asdf 這個命名引起了一些困惑,社群成員最初認為它與現有工具如 asdf 版本管理器或 Common Lisp 構建系統有關。該名稱似乎引用了 QWERTY 鍵盤左手主行位置,儘管對其與遊戲傳統 WASD 移動鍵的連線存在一些爭議。
該庫已經在實際應用中使用,包括一個名為 Alspotron 的遊戲內歌詞覆蓋層和一個名為 Tosu 的遊戲覆蓋層。對於有興趣嘗試的開發者,該專案提供了 Node.js 和 Rust 的示例,具有輸入捕獲控制和多後端支援等功能。
參考:Asdf Overlay