FPS限制

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]:23分别代表性能模式和电池模式
  • 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计数器。为此,请按照以下步骤操作:

  1. 运行游戏时,向下滑动并按下游戏面板图标。

  2. FPS按钮打开FPS计数器。

  3. X按钮关闭游戏面板。向右滑动箭头以显示FPS计数器。

捕获Perfetto跟踪

要深入了解游戏的性能,我们建议您执行Perfetto跟踪。有关执行跟踪的更多信息,请参阅快速入门:在Android上记录跟踪

执行跟踪时,请使用android.game_interventions数据源。跟踪完成后,将显示跟踪查看器页面。在导航栏中,选择信息和统计信息,然后查看游戏模式和干预措施列表。例如:

Example of intervention list table

FPS限制干预措施以“fps=X”的格式显示,其中X是在特定游戏模式下的限制FPS。0是默认值。