ADPF Unreal Engine 插件

适用于 Unreal EngineAndroid Dynamic Performance Framework) (ADPF) 插件可提供稳定的性能并阻止温控降频。

您可以从 GitHub 下载该插件

如何使用 ADPF Unreal Engine 插件

  1. 下载插件

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

  3. 在 Unreal 编辑器中启用 ADPF Unreal Engine 插件

  4. 重新启动 Unreal 编辑器

  5. 构建和烹饪游戏

启用 ADPF Unreal Engine 插件。
图 1. 启用 ADPF Unreal Engine 插件。

插件控制台配置

该插件具有以下 Unreal Engine 控制台变量,让您能够在运行时更改插件选项:

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 Unreal Engine 插件的工作原理

该插件会在每一帧中调用 Monitor() 函数,并检查自上次热检查以来经过的时间。如果至少经过了 1 秒钟,插件会读取当前温度并确定是否需要更改图形质量(例如,游戏是否受到热限制或接近温控阈值),并相应地调整设置。

该插件还会向性能提示会话 API 报告目标帧时长和实际帧时长,并根据需要提高 CPU 频率或调整 CPU 调度。

ADPF Unreal Engine 插件流程图。
图 2. ADPF Unreal Engine 插件流程图。

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

该插件会根据来自 Thermal API 的反馈,使用 Unreal Engine 可扩展性调整图形质量。Unreal Engine 可伸缩性有四个级别,范围为 3(最高质量)到 0(最低质量)。每个级别都会映射到分辨率比例、视图距离、抗锯齿、后期处理和其他功能。

Unreal Engine 可伸缩性。
图 3. Unreal Engine 可伸缩性。

ADPF 可通过两种方式确定设备热状态:热余量热状态。 热余量可提供更精确的值;因此,插件默认使用热余量并停用热状态 API。

Unreal Engine 可伸缩性基于以下热值而变化:

热余量

  • < 0.75:质量级别 3
  • 0.75 至 0.85:质量级别 2
  • 0.85 至 0.95:质量级别 1
  • > 0.95:质量级别 0

热状态

  • :质量级别 3
  • 浅色:质量级别 2
  • 中等:质量级别 1
  • 严重和严重:质量级别 0

如需了解详情,请参阅 Thermal API

性能提示 API

该插件具有两种类型的性能提示会话,一种用于游戏线程,另一种用于渲染线程(渲染线程和 RHI 线程)。这两种性能提示用于报告每一帧的实际时长和目标时长。系统会调整 CPU 频率,并在实际时长与目标时长不同时做出更好的调度选择。

如需了解详情,请参阅 Performance Hint API

最佳实践

该插件可以阻止温控调频,并通过其基本实现提供持续的目标 FPS。如需立即获得结果,请采用默认 Unreal Engine 可伸缩性级别来应用 ADPF。

但是,由于每款游戏都不同,因此请微调每个参数(如分辨率比例、视图距离、抗锯齿、后处理、阴影、纹理和效果)的可伸缩性级别,以使 ADPF 充分实现游戏的动态性能。

下面介绍了使用 ADPF Unreal 插件获得最佳结果的三个关键步骤:

  • 建立基准:在使用 ADPF 之前,全面分析游戏的性能。实现该插件后,这些数据可作为比较有价值的基准。
    ADPF Unreal Engine 最佳实践。
    图 4.建立基准。
  • 利用 Unreal 可扩缩性:尝试 Unreal 可扩缩性,即使它只能获得适度的性能提升。这将有助于在不花费太多精力的情况下提升性能。
    ADPF Unreal Engine 最佳实践。
    图 5.利用 Unreal 可伸缩性。
  • 优先考虑游戏内图形设置:优化游戏内图形质量级别。这些设置是专门针对游戏内容量身定制的,可确保更流畅的帧速率和更完善的热管理。
    ADPF Unreal Engine 最佳实践。
    图 6.优先考虑游戏内图形设置。