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 功能,他们就有了一种解决方法。

免责声明:本文由用户上传,如有侵权请联系删除!