用于 虚幻引擎 的 Android 动态性能框架 (ADPF) 插件可提供稳定的性能并防止热降频。
您可以从 GitHub 下载插件。
如何使用 ADPF 虚幻引擎插件
下载插件
将插件复制到项目插件文件夹
在虚幻编辑器中启用 ADPF 虚幻引擎插件
重新启动虚幻编辑器
构建和 烘焙游戏
插件控制台配置
该插件具有以下 虚幻引擎控制台变量,使您能够在运行时更改插件选项
CVar |
有效值 |
默认值 |
描述 |
---|---|---|---|
r.AndroidPerformanceEnabled |
0, 1 |
1 |
启用/禁用 Android 性能插件。该插件使用 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 之前,彻底分析游戏的性能。这些数据将作为在您实施插件后进行比较的有价值的基准。
- 利用虚幻可扩展性:尝试使用虚幻可扩展性,即使它只提供适度的性能提升。这将有助于在无需太多努力的情况下获得性能优势。
- 优先考虑游戏内图形设置:优化游戏内图形质量级别。这些设置专门针对您的游戏内容量身定制,可确保更流畅的帧速率和更好的热管理。