联发科增强 Android SoC 的动态性能

改进性能和热管理对于在 Android 上开发成功的游戏至关重要。传统上,开发者必须通过降低游戏保真度或进一步优化渲染器来管理这些问题。这些更改往往特定于游戏,并且通常缺乏灵活性。

Android 生态系统中的多个参与者为开发者提供了自适应性能 API。为了简化自适应性能功能的集成并减少生态系统中的碎片化,Google 和联发科正在合作整合我们的产品:Android 动态性能框架 (ADPF) 和联发科自适应游戏技术 (MAGT)。

ADPF 为开发者提供了根据实时热状态调整游戏工作负载并向操作系统提供提示以优化当前工作负载性能的功能。您可以使用这些信号调整保真度和性能设置,例如分辨率、帧率,甚至资源加载策略。这使您能够更好地平衡性能、散热和保真度,为 Android 游戏玩家提供最佳体验。Android 生态系统一直在充分利用这项技术。Kakao Games 的 Ares 通过响应热 API 在运行时调整工作负载,将 FPS 稳定性提高到 96%

联发科是 Android 上 SoC 的领先供应商。该公司生产多种芯片,例如新款天玑 9300。联发科还提供 MAGT SDK,该 SDK 自 2021 年起就已推出。该 SDK 提供了用于联发科 SoC 性能调优的高级功能,例如有关实时性能的细粒度信息以及提高工作负载的提示。除了向开发者提供 MAGT 外,联发科还开始提供增强的 ADPF 功能。

图 1. 联发科与 Google 的合作。

使用 ADPF 防止热降频并优化性能

联发科允许 ADPF 框架访问当前和目标设备温度,以防止严重降频。通过利用 ADPF 的 getThermalHeadroom() 函数,应用程序可以在设备达到严重降频之前获取可用热裕量的估计值。使用此估计值,应用程序可以动态调整工作负载以防止设备触发降频,从而增强整体用户体验。

该应用程序(以 Unity 的 Boat Attack 演示 为例)还使用性能提示会话 API 来优化其性能。它通过 updateTargetWorkDuration()reportActualWorkDuration() 函数分别提供每个帧的目标帧时间和当前帧时间。联发科平台计算两次 reportActualWorkDuration() 调用之间的工作负载,并分配足够的 CPU 容量以确保工作负载可以在目标持续时间内完成。

因此,联发科平台始终提供最佳的每秒帧数 (FPS) 和均衡的功耗,从而保证流畅的用户体验。

实现更高的帧率、更低的功耗和更长的游戏时间

总体而言,Unity Boat Attack 演示将帧率提高了 8.5fps,将功耗降低了 12%,并将游戏时间延长了 25 分钟或更长时间。FPS 标准偏差下降了 25%。如此显著的改进使您能够以热稳定方式提高游戏的保真度并运行更长时间的游戏会话。

图 2. 性能结果。
图 3. FPS 图表。

即使不调整保真度设置,仅通过启用性能提示会话,工作负载也能将其平均渲染线程时间降低近 10%。

联发科 SoC 上的自适应性能的未来发展方向

ADPF 将在未来几年内进行升级,以添加新功能并添加来自 MAGT 的新设备无关功能。对于希望充分利用联发科设备的开发者,MAGT SDK 包含针对联发科芯片组架构的独特高级功能,并且很快也将提供核心 ADPF 功能。

图 4. 联发科与 Android 的协同。

开始使用 Android 自适应功能

Android 动态性能框架现已提供给所有 Android 游戏开发者,适用于 Unity、虚幻、Cocos Creator 游戏引擎 以及我们的原生 C++ 库。

  • 对于 Unity 开发者,您可以从 Adaptive Performance provider v5.0.0 开始。请注意,热 API 受 Android 11(API 级别 30)及更高版本的多数 Android 设备支持,性能提示 API 受 Android 12(API 级别 31)及更高版本的多数 Android 设备支持。
  • 对于虚幻开发者,您可以从适用于大多数目标 Android 12(API 级别 31)或更高版本的 Android 设备的 Android 动态性能虚幻引擎插件 开始。
  • 对于 Cocos Creator,您可以从 v3.8.2 开始使用热 API,从 v3.8.3 开始使用性能提示 API。

对于这些游戏引擎,热 API 与自适应性能集成,以帮助您检索设备热信息,并且性能提示 API 会在每次 Update()Monitor() 时自动调用,无需任何额外操作。最后,对于自定义引擎,您可以参考我们的 原生 ADPF C++ 示例

其他资源

了解 Android 动态性能框架 如何帮助您稳定游戏的 FPS 并减少热降频。

了解有关 联发科自适应游戏技术 的信息,该技术可用于在联发科 SoC 上进行高级性能调优。