背景
Ares: Rise of Guardians 是一款由 Second Dive 开发的跨移动平台和 PC 的科幻 MMORPG,Second Dive 是一家韩国游戏工作室,以其在动作 RPG 系列开发方面的专业知识而闻名。该游戏由 Kakao Games 发行。
《Ares》设定在一个广阔的宇宙中,背景详细且充满未来感,拥有激动人心的游戏玩法和精美渲染的角色,其中战斗人员身着战甲。然而,由于这些细节丰富的图形,部分用户的设备在游戏过程中难以应对。
他们做了什么
对某些用户而言,他们的设备在玩游戏几分钟后就会过热并进入热节流状态。在此状态下,CPU 频率和 GPU 频率会降低,从而影响游戏性能并导致每秒帧数 (FPS) 下降。然而,一旦 FPS 下降改善了散热情况,FPS 又会再次升高,如此循环往复。FPS 波动导致游戏出现卡顿感。
为了解决这个问题,Kakao Games 使用了 Android 自适应能力和 Unity 自适应性能来改善其游戏的性能和热管理。
Android 自适应能力是一套工具和库,可让游戏实时分析和响应不断变化的性能、散热和用户情况。Android 自适应能力包括 Android 动态性能框架 (ADPF) 热管理 API,该 API 提供设备热状态的信息;以及 PerformanceHintManager
API,该 API 可帮助 Android 选择最佳 CPU 工作点和核心放置。这两个 API 都与 Unity 自适应性能包配合使用,可帮助您优化游戏。
Android 自适应能力和 Unity 自适应性能协同工作,以调整您的应用或游戏的图形设置,使其与用户设备的性能相匹配。结果:性能得到改善,热节流减少,功耗降低,电池续航时间更长。
他们取得了什么成就
在集成了自适应性能后,《Ares》能够更好地管理其散热情况,从而减少了节流。用户能够享受更高的帧率,FPS 稳定性已从 75% 提高到 96%。
在下面的图表中,蓝线表示热警告级别。底线 (0.7) 表示无警告,中线 (0.8) 表示即将节流,上线 (0.9) 表示正在节流。
正如第一个图表所示,在《Ares》实现 Android 自适应能力之前,游戏进行约 16 分钟后就会出现节流。第二个图表显示了集成 Android 自适应能力后的结果:节流直到约 22 分钟才发生。
Kakao Games 还希望减少设备发热,他们知道持续高画质设置是不可能实现这一点的。最佳实践是随着设备温度升高逐渐降低图形保真度,以保持恒定的帧率和热平衡。因此,Kakao Games 使用 Android 自适应能力创建了一个六步变化序列,实现了稳定的 FPS 和更低的设备温度。
保真度的自动变化体现在设置菜单中的游戏内图形质量设置(分辨率、纹理、阴影、特效等)。由于某些用户即使设备无法在该级别维持性能也希望获得最高图形质量,因此 Kakao Games 允许用户手动禁用 Unity 自适应性能。
开始使用 Android 自适应能力
对于在 Android 11(API 级别 30,热管理 API)和 Android 12(API 级别 31,性能提示 API)之后,在大多数 Android 设备上使用 Unity Android 提供程序的所有 Android 游戏开发者,Android 自适应能力和 Unity 自适应性能现已可用。您可以从 Adaptive Performance 5.0.0 版本开始使用 Android 提供程序。热管理 API 已与 Adaptive Performance 集成,可帮助您获取设备热信息,并且性能提示 API 会在每次 Update()
时自动调用,无需任何额外工作。
更多资源
了解 Android 自适应能力和 Unity 自适应性能如何帮助您稳定游戏的 FPS 并减少热节流。