ADPF Unreal Engine 插件

用于 虚幻引擎Android 动态性能框架 (ADPF) 插件可提供稳定的性能并防止热降频。

您可以从 GitHub 下载插件

如何使用 ADPF 虚幻引擎插件

  1. 下载插件

  2. 将插件复制到项目插件文件夹

  3. 在虚幻编辑器中启用 ADPF 虚幻引擎插件

  4. 重新启动虚幻编辑器

  5. 构建和 烘焙游戏

Enable ADPF Unreal Engine plugin.
图 1. 启用 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 调度。

ADPF Unreal Engine plugin flowchart.
图 2. ADPF 虚幻引擎插件流程图。

如何根据热状态更改图形质量

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

Unreal Engine Scalability.
图 3. 虚幻引擎可扩展性。

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 之前,彻底分析游戏的性能。这些数据将作为在您实施插件后进行比较的有价值的基准。
    ADPF Unreal Engine best pracices.
    图 4. 建立基线。
  • 利用虚幻可扩展性:尝试使用虚幻可扩展性,即使它只提供适度的性能提升。这将有助于在无需太多努力的情况下获得性能优势。
    ADPF Unreal Engine best pracices.
    图 5. 利用虚幻可扩展性。
  • 优先考虑游戏内图形设置:优化游戏内图形质量级别。这些设置专门针对您的游戏内容量身定制,可确保更流畅的帧速率和更好的热管理。
    ADPF Unreal Engine best pracices.
    图 6. 优先考虑游戏内图形设置。