NCSoft Lineage W 通过使用 ADPF 提升了持续性能并防止了温度过高导致的性能下降

Screenshot from NCSoft Lineage W

NCSoft Lineage W 是一款由 NCSoft 开发的大型多人在线角色扮演游戏 (MMORPG)。这款游戏继承了原始 Lineage W 游戏的遗产,并提供了一个环境,让来自世界各地的玩家可以通过全球服务器进行合作和竞争。Lineage W 设置在一个独特的中古幻想世界中,通过各种职业、技能和战斗系统为玩家提供了深度游戏体验。

NCSoft 使用 Android 动态性能框架来最大化图形质量,同时防止由温度过高导致的性能问题。

Android 动态性能框架

Android 动态性能框架 (ADPF) 提供有关资源使用情况的信息,并帮助开发者实时响应不断变化的性能、热量和用户情况。它包括热量和性能提示 API。热量 API 提供有关设备热状态的信息,而性能提示 API 提供性能提示,帮助 Android 选择最佳的 CPU 工作点和核心放置。热量 API 提供有关设备热状态的信息,而 性能提示 API 提供性能提示,帮助 Android 选择最佳的 CPU 工作点和核心放置。

虚幻引擎 ADPF 插件

虚幻引擎 ADPF 插件 提供了在使用虚幻引擎的游戏中使用 ADPF 的最简单方法。

该插件每秒检查一次设备的热状态。当设备过热时,该插件使用默认的虚幻可扩展性设置调整图形质量设置。共有四个级别,每个级别都映射到各种图形质量(分辨率、视野距离、后期处理等)。

如果您已经拥有玩家可配置的游戏内设置(例如低、中和高质量),我们建议您使用这些设置,而不是默认的虚幻可扩展性级别。

该插件使用两种方法来检查设备热量:一种是评估热量裕量,另一种是检查热状态。热量裕量提供更详细的信息,并且默认情况下处于启用状态。

该插件为游戏和渲染线程创建了两个性能提示会话。它每帧向框架报告目标和实际持续时间,并有助于实现目标每秒帧数 (FPS)。

NCSoft 如何优化性能

图 1. 游戏视频。

Lineage W 使用 ADPF 来防止由热功耗导致的性能问题。他们努力最大化利用能够显著提升性能的图形质量设置,同时最大程度地减少对实际游戏体验的影响。在通过余量值调整质量时,NCSoft 会验证每个阶段的稳定性和运行情况。为了为每种调整后的图形质量设置值提供良好的游戏体验,需要进行各种测试。

游戏默认目标帧率为 30 FPS,但 NCSoft 将目标帧率更改为 60,以测试 ADPF 如何提高 FPS。

Screenshot from NCSoft Lineage W

在 Pixel 6(运行 Android 13)上进行 30 分钟的游戏测试期间,FPS 从 60 FPS 急剧下降到 32 FPS,并且在 4 分钟时热量余量值达到 1.0f(严重热功耗的阈值)。

Screenshot from NCSoft Lineage W

当游戏使用 Unreal Engine ADPF 插件和默认的 Unreal 可扩展性时,它能够保持 60 FPS 15 分钟。在这 30 分钟内的平均帧率也提高到 57.5 FPS。但是,热量余量显示出与之前类似的值,这意味着设备以类似的方式发热并遭受热功耗。

Screenshot from NCSoft Lineage W

为了解决这个问题,Lineage W 团队决定需要让 ADPF 对保真度参数有更多控制权,以避免热功耗。在将 Lineage W 的游戏内图形质量设置与 Unreal Engine ADPF 插件集成后,他们取得了最佳效果。这种集成导致稳定的 60 FPS 帧率,同时保持低于 1.0 的热量余量值,表明热管理效率很高。

通过将 Lineage W 的游戏内质量设置与 ADPF 结合使用,NCSoft 能够提供更稳定、更愉悦的用户体验。

Screenshot from NCSoft Lineage W

由于并非所有 Android 设备制造商都完全支持 ADPF,因此 NCSoft 将其作为游戏内选项“自适应性能优化”供玩家选择。

开始使用 ADPF 和 Unreal Engine 插件

有兴趣使用 Android 自适应性或 ADPF Unreal Engine 插件的开发者应执行以下操作

  • 详细了解 ADPFUnreal Engine ADPF 插件
  • 自定义您的缩放器以适应游戏内容,而不是使用 Unreal Engine 可扩展性
  • 监控游戏的性能,以确保其符合预期。尝试不同的设置以找到最佳性能并最大程度地减少热量增加。
  • 分别更改图形质量设置以减少突然的性能下降。

无论您使用哪个引擎,您始终可以选择直接使用 API。详细了解 Android 自适应性Unreal Engine ADPF 插件