用于虚幻引擎的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之前,彻底分析游戏的性能。这些数据将作为您实施插件后进行比较的宝贵基准。
- 利用虚幻可扩展性:尝试使用虚幻可扩展性,即使它只提供了适度的性能提升。这将有助于在无需过多努力的情况下提供性能优势。
- 优先考虑游戏内图形设置:优化游戏内的图形质量级别。这些设置专为您的游戏内容量身定制,可确保更流畅的帧率和更好的热管理。