Android 动态性能框架 (ADPF) 的 虚幻引擎 插件提供稳定的性能并防止热节流。
您可以从 GitHub 下载该插件。
如何使用 ADPF 虚幻引擎插件
下载插件
将插件复制到项目插件文件夹
在虚幻编辑器中启用 ADPF 虚幻引擎插件
重新启动虚幻编辑器
构建并 烘焙 游戏

插件控制台配置
该插件具有以下 虚幻引擎控制台变量,可让您在运行时更改插件选项
CVar |
有效值 |
默认值 |
说明 |
---|---|---|---|
r.AndroidPerformanceEnabled |
0, 1 |
1 |
启用/禁用 Android Performance 插件。该插件使用 Android 适应性 API 根据设备的热状态调整游戏设置,并根据需要调整 CPU。 0:关闭(禁用) 1:开启(启用) |
r.AndroidPerformanceHintEnabled |
0, 1 |
1 |
启用/禁用性能提示管理器。为支持的 Android 设备启用此设置可实现最佳线程提升。 0:关闭(禁用) 1:开启(启用) |
r.AndroidPerformanceChangeQualities |
0, 1, 2 |
1 |
选择热状态如何调整游戏的保真度级别。 0:系统不调整任何设置 1:根据热余量调整设置 2:根据热侦听器调整设置 |
ADPF 虚幻引擎插件的工作原理
该插件每帧调用 Monitor()
函数,并检查自上次热检查以来经过的时间。如果至少过去一秒钟,插件会读取当前温度并确定是否需要更改图形质量(例如,如果游戏受到热节流或接近热节流阈值),并相应地调整设置。
该插件还会向性能提示会话 API 报告目标和实际帧持续时间,并根据需要提升 CPU 频率或调整 CPU 调度。

如何根据热状态更改图形质量
该插件根据热 API 的反馈,使用 虚幻引擎可伸缩性 调整图形质量。虚幻引擎可伸缩性有四个级别,从 3(最高质量)到 0(最低质量)。每个级别都映射到分辨率缩放、视图距离、抗锯齿、后期处理和其他功能。

ADPF 有两种方法来确定设备的热状态:热余量 和 热状态。热余量提供更精确的值;因此,插件默认使用热余量并禁用热状态 API。
虚幻引擎可伸缩性根据以下热值变化
热余量
- < 0.75:质量级别 3
- 0.75 至 0.85:质量级别 2
- 0.85 至 0.95:质量级别 1
- > 0.95:质量级别 0
热状态
- 无:质量级别 3
- 轻微:质量级别 2
- 中度:质量级别 1
- 严重和危急:质量级别 0
如需了解更多信息,请参阅热 API。
性能提示 API
该插件有两种性能提示会话 — 一种用于游戏线程,另一种用于渲染线程(渲染和 RHI 线程)。这两种性能提示用于报告每帧的实际和目标持续时间。当实际持续时间与目标持续时间不同时,系统会调整 CPU 频率并做出更好的调度选择。
有关详细信息,请参阅性能提示 API。
最佳实践
该插件通过其基本实现可防止热节流并提供持续的目标 FPS。若要立即获得结果,请将 ADPF 应用于默认的虚幻引擎可伸缩性级别。
但是,由于每个游戏都不同,因此请针对分辨率缩放、视图距离、抗锯齿、后期处理、阴影、纹理和效果等每个参数微调可伸缩性级别,以允许 ADPF 为您的游戏充分提供动态性能。
以下是使用 ADPF 虚幻插件获得最佳效果的三个关键步骤
- 建立基准:在使用 ADPF 之前,彻底分析您游戏的性能。这些数据将作为您实现插件后的宝贵比较基准。
图 4. 建立基准。 - 利用虚幻可伸缩性:尝试使用虚幻可伸缩性,即使它只提供适度的性能提升。这将有助于在不费太多力气的情况下提供性能优势。
图 5. 利用虚幻可伸缩性。 - 优先考虑游戏内图形设置:优化您的游戏内图形质量级别。这些设置是专门为您的游戏内容量身定制的,可确保更流畅的帧率和更好的热管理。
图 6. 优先考虑游戏内图形设置。