3月8日游戲模擬器如何學會教舊智能手機GPU新技巧

導讀 NintendoSwitch 模擬器 Skyline 背后的開發人員想出了一個聰明的主意來獲得他們需要的工具Android 骯臟的 F 詞碎片化可能不會像以前

NintendoSwitch 模擬器 Skyline 背后的開發人員想出了一個聰明的主意來獲得他們需要的工具

Android 骯臟的 F 詞“碎片化”可能不會像以前那樣獲得如此多的憤怒的頭條新聞或點擊,但它仍然是千千萬萬個微小的問題。正如 Esper.io 的 Mishaal Rahman在最近的(和精美的)時事通訊中指出的那樣,GPU 驅動程序是其中一個問題,這僅僅是因為 Android 的工作方式。

具有相同芯片組的兩部不同手機實際上可能運行具有不同性能配置文件和啟用不同功能的不同驅動程序,這可能會讓開發人員頭疼 - 特別是當他們需要每一個性能或前沿功能時。對于尖端游戲模擬器背后的開發人員來說,這是一個嚴重的問題。但是,任天堂 Switch 模擬器 Skyline背后的人們想出了一個巧妙的技巧,為舊硬件帶來更新的性能和功能。

我有機會騷擾Mark和Billy,他們是該項目的兩名開發人員,他們談論 Adreno Tools,這是他們構建的一個庫,用于在應用程序級別填補舊驅動程序和新驅動程序之間的差距。去年 12 月發布的 Adreno Tools 允許應用程序基本上攔截應用程序與系統驅動程序的通信方式,讓應用程序使用自己的驅動程序。它不僅如此,但它是簡短的版本,它解決了很多問題。

游戲開發者面臨的一大問題是特定設備是否支持他們需要的圖形功能。正如 PC 游戲玩家所熟知的那樣,有時您需要某一代 GPU 才能使某項功能發揮作用——例如光線追蹤之類的情況。盡管它們在驅動程序級別的工作方式非常不同,但類似的邏輯適用于手機:不同的硬件可以簡單地做不同的事情。有時開發人員必須依賴可能存在或不存在的特定功能才能工作,這可能會讓用戶感到困惑——尤其是我們提到的 GPU 驅動程序碎片問題,這意味著甚至可以說,“你需要這個芯片組或更好”實際上可能還不夠。

回到其他游戲平臺上的相似之處,想象一下這樣一個世界:帶有 RTX 3080 的戴爾最終具有與具有相同規格的惠普不同的功能,因為它去年“失去了支持”,或者從百思買購買的 Playstation 5 可以運行的游戲從亞馬遜購買的不能。這一切都會有點荒謬,對吧?在某種程度上,這實際上是目前安卓手機的情況,這對開發者來說是個問題。

輸入:腎上腺素工具。它允許開發人員使用自己的驅動程序加載應用程序。在 Nintendo Switch 模擬器 Skyline 的案例中,他們使用了一種名為 Turnip 的東西,這是一種用于最新 Qualcomm Adreno GPU 的開源 Vulkan 驅動程序。它在受支持的設備上提供了一個已知良好的基線,并與 Adreno 工具一起提供了一些額外的功能,這些功能可以提高某些硬件的兼容性和性能,同時還為開發人員提供了一種回饋更改和請求功能的方法——小型獨立開發人員可以幾乎不要求高通專門為他們推出更改,如果可以的話,他們仍然會等待設備制造商的系統級更新或 Play Store 可下載的 GPU 驅動程序。

借助 Adreno Tools 和 Turnip,并且由于高通 GPU 跨代共享的相似性,Skyline 能夠確保舊設備能夠利用新功能,包括多個 Nintendo Switch 游戲所需的紋理壓縮格式。其他仿真器也在采用它,并且它可以擴展用于來自高通公司以外的公司的非基于 Adreno 的芯片組,司機愿意。

開發人員告訴我,AetherSX2是一款流行的 Android Playstation 2 模擬器,至少部分采用了它(通過自定義構建),而Dolphin 、流行的 GameCube 和 Wii 模擬器背后的開發人員也在研究它。(如果您碰巧是遇到類似問題的游戲開發者,這可能值得一看。)

Adreno Tools 還可用于為可能使用它的其他應用程序插入更新版本的官方驅動程序。舉一個你可能想要的例子,Rahman 通過在他的 Pixel 3 XL 上使用更新的 Qualcomm 提供的驅動程序,在 3DMark 中看到了相當驚人的 13% 的性能提升。

Skyline 開發人員 Billy Laws 需要稍微調整一下,才能將適用于最新高通芯片組的驅動程序硬塞進舊芯片組,但它暴露了客戶可以自行解決碎片問題并查看更好的性能,而無需等待缺乏動力的 OEM 去做他們應該做的事情。正如 Rahman 在本周的時事通訊中指出的那樣,現在可以通過多種方式更新 Android 設備驅動程序,從系統更新到 Play 商店,但仍未從根本上解決 GPU 驅動程序碎片化的問題。

Adreno Tools 也沒有解決這個問題——除了谷歌之外,沒有人能真正做到強制某種類似于 PC 的集中式驅動程序更新模式。但這至少意味著,如果開發人員不能依靠智能手機制造商為他們的手機提供必要的 GPU 功能,他們就有了一種解決方法。

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!