Android FPS 节流是一项游戏模式干预方式,可帮助游戏以更稳定的帧速率运行,从而减少耗电量。Android 13 或更高版本提供了这项干预。
随着越来越多的 Android 设备配备了具有较高刷新频率(例如 90 Hz 和 120 Hz)的显示屏,大多数游戏都会尝试保持高 FPS 速度。不过,它们通常不会考虑用户是更注重性能还是更注重电池续航时间。这会导致一些问题:
无法始终保持较高 FPS 速度的游戏最终会导致 FPS 不稳定或不均匀。
用户通常并不真心希望 FPS 较高,因为电池电量消耗太快。
FPS 节流只能限制帧速率。例如,当游戏最初以 60 FPS 运行时,FPS 节流干预无法使它以 120 FPS 运行,但能将运行速度降低至 40 FPS 和 30 FPS。
FPS 节流可能会使 GPU 功耗降低多达 50% 且系统功耗降低 20%。它还有助于非恒速的游戏以更流畅、较不卡顿的帧速率运行。
非恒速的游戏通常具有较高的帧速率峰值,但在帧时间方面的差异较大。这会显著影响玩家对性能的认知。FPS 节流干预仅有助于非恒速的游戏在平台端实现帧同步。
FPS 节流干预的结果可能会因所用设备、环境条件和其他因素而异。
与应用帧同步实现之间的交互
在同时实施应用帧同步实现和 FPS 节流的情况下,最终的帧速率通常是较低的目标帧速率。
使用入门
本部分介绍如何使用 Android 调试桥 (adb) 来设置和使用 FPS 节流。
启用游戏模式干预项
如需为游戏启用游戏模式干预项,请使用以下命令:
adb shell device_config put game_overlay <PACKAGE_NAME> <CONFIG>
设置 FPS 干预
如需设置目标 FPS 节流干预,请使用 device_config
命令。
以下示例设置了针对性能和电池模式的 FPS 节流:
adb shell device_config put game_overlay <PACKAGE_NAME> mode=2,fps=90:mode=3,fps=30
参数详情:
mode
[2|3]:针对性能和电池模式使用2
和3
fps
[0|30|40|45|60|90|120]:我们建议选择设备最大刷新频率的除数作为帧速率,具体取决于所用设备(是 120 Hz、90 Hz 还是 60 Hz)。0
是默认值。
以下是每种显示屏类型支持的帧速率:
- 60 Hz 显示屏:60 FPS、30 FPS
- 90 Hz 显示屏:90 FPS、45 FPS、30 FPS
- 120 Hz 显示屏:120 FPS、60 FPS、40 FPS、30 FPS
获取结果
如需查看和分析结果,您可检查 FPS 计数器或捕获 Perfetto 跟踪记录。以下示例说明了如何在以 120 FPS 运行的游戏中查看 FPS 计数器:
查看 FPS 计数器
如需验证您的 FPS 节流设置,您可运行该游戏并在游戏信息中心内打开 FPS 计数器。为此,请按照以下步骤操作:
在运行游戏时,向下滑动,然后按“游戏信息中心”图标。
按 FPS 按钮开启 FPS 计数器。
按 X 按钮关闭游戏信息中心。沿着箭头向右滑动即可显示 FPS 计数器。
捕获 Perfetto 跟踪记录
如需深入了解游戏的性能,我们建议您执行 Perfetto 跟踪记录。如需详细了解如何执行跟踪,请参阅快速入门:记录 Android 设备上的跟踪数据。
执行跟踪时,请使用 android.game_interventions
数据源。跟踪完毕后,屏幕上将显示跟踪查看器页面。在导航栏中,选择信息和统计信息,然后查看游戏模式和干预列表。例如:
FPS 节流干预以“fps=X”的格式显示,其中 X
是特定游戏模式下的节流 FPS。0
是默认值。