在 Android 上开发成功的游戏,提升性能和热管理至关重要。传统上,开发者必须通过降低游戏保真度或进一步优化渲染器来管理这些问题。这些更改通常是游戏特有的,并且可能不灵活。
Android 生态系统中的多个参与者为开发者提供自适应性能 API。为了简化自适应性能功能的集成并减少生态系统中的碎片化,Google 和 MediaTek 正在合作整合我们的产品:Android 动态性能框架 (ADPF) 和 MediaTek 自适应游戏技术 (MAGT)。
ADPF 让开发者能够根据实时散热情况调整游戏负载,并向操作系统提供提示以优化当前负载的性能。您可以使用这些信号调整保真度和性能设置,例如分辨率、帧速率,甚至资源加载策略。这使您能够更好地平衡性能、散热和保真度,为 Android 游戏玩家提供最佳体验。Android 生态系统一直在充分利用这项技术。Kakao Games 的 Ares 能够通过响应热 API 在运行时调整负载,从而将 FPS 稳定性提高到 96%。
MediaTek 是 Android 上领先的 SoC 供应商。该公司生产多款芯片,例如新的 Dimensity 9300。MediaTek 还提供自 2021 年起推出的 MAGT SDK。该 SDK 为 MediaTek SoC 上的性能调优提供高级功能,例如关于实时性能的细粒度信息,以及增加负载的提示。除了向开发者提供 MAGT,MediaTek 还开始提供增强的 ADPF 功能。

通过 ADPF 防止热节流并优化性能
MediaTek 允许 ADPF 框架访问当前和目标设备温度,以防止严重的节流。通过利用 ADPF getThermalHeadroom()
函数,应用程序可以在设备达到严重节流之前获取可用散热余量的估计值。使用此估计值,应用程序可以动态调整工作负载以防止设备触发节流,从而增强整体用户体验。
该应用程序(以 Unity 的 Boat Attack 演示为例)还使用性能提示会话 API 来优化其性能。它分别通过 updateTargetWorkDuration()
和 reportActualWorkDuration()
函数提供每个帧的目标帧时间和当前帧时间。MediaTek 平台计算两次 reportActualWorkDuration()
调用之间的工作负载,并分配足够的 CPU 容量以确保工作负载可以在目标持续时间内完成。
因此,MediaTek 平台始终以平衡的功耗提供最佳帧每秒 (FPS),保证流畅的用户体验。
实现更好的帧速率、降低功耗和延长游戏会话时间
总的来说,Unity Boat Attack 演示将帧速率提高了 8.5fps,功耗降低了 12%,并使游戏会话时间延长了 25 分钟或更多。FPS 标准差下降了 25%。如此显著的改进让您可以提高游戏保真度,并在热可持续的方式下运行更长时间的游戏会话。


即使不调整保真度设置,仅仅通过启用性能提示会话,工作负载也能够将其平均渲染线程时间减少近 10%。
MediaTek SoC 上自适应性能的下一步
ADPF 将在未来几年升级,增加新功能并从 MAGT 中添加新的与设备无关的功能。对于希望从 MediaTek 设备中获得更多收益的开发者,MAGT SDK 包含独特针对 MediaTek 芯片组架构的高级功能,并且很快也将提供核心 ADPF 功能。


开始使用 Android 自适应性
Android 动态性能框架现在可供所有 Android 游戏开发者使用,适用于 Unity、Unreal、Cocos Creator 游戏引擎 以及通过我们的原生 C++ 库。
- 对于 Unity 开发者,您可以从 自适应性能提供商 v5.0.0 开始。请注意,大多数 Android 11 (API level 30) 及更高版本的 Android 设备支持热 API,而 Android 12 (API level 31) 及更高版本支持性能提示 API。
- 对于 Unreal 开发者,您可以从适用于大多数 Android 12 (API level 31) 或更高版本的 Android 设备的 Android 动态性能 Unreal Engine 插件 开始。
- 对于 Cocos Creator,您可以从 v3.8.2 开始使用热 API,并从 v3.8.3 开始使用性能提示 API。
对于这些游戏引擎,热 API 已与自适应性能集成,可帮助您检索设备热信息,并且性能提示 API 会在每次 Update()
或 Monitor()
调用时自动执行,无需任何额外工作。最后,对于自定义引擎,您可以参考我们的 原生 ADPF C++ 示例。
其他资源
了解 Android 动态性能框架 如何帮助您稳定游戏的 FPS 并减少热节流。
了解 MediaTek 自适应游戏技术,用于在 MediaTek SoC 上进行高级性能调优。