You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Xcode中判断设备是否以120Hz而非60Hz运行?

判断iPhone/iPad是否支持120Hz刷新率的最佳方法

一、直接检测屏幕最大刷新率(推荐方案)

无需依赖设备型号或iOS版本,直接通过系统API获取屏幕支持的最高帧率,是最可靠且适配未来设备的方法:

  • 使用UIScreen.main.maximumFramesPerSecond属性,该值会返回屏幕支持的最大帧率。ProMotion(120Hz)设备的返回值为120,传统60Hz设备则为60。
  • 代码示例(Swift):
    let supports120Hz = UIScreen.main.maximumFramesPerSecond >= 120
    
  • 补充:若需获取当前实际刷新率,可使用UIScreen.main.refreshRate,但该值会随系统动态调整(比如静止时降到60Hz),因此检测最大帧率更适配你的游戏场景。

二、游戏帧率异常的解决办法

你的游戏在120Hz设备上速度翻倍,核心原因是游戏逻辑帧率与屏幕刷新率绑定导致。检测到120Hz支持后,只需强制锁定游戏帧率为60Hz即可:

  • 若使用原生CADisplayLink驱动游戏循环,设置其preferredFramesPerSecond = 60;
  • 若使用第三方游戏引擎,在引擎的帧率设置面板中强制锁定为60FPS,而非跟随屏幕刷新率。

三、设备型号检测(兜底方案,不推荐)

如果因平台限制无法调用系统API,可通过检测设备型号判断,但需持续维护型号列表以适配新发布设备:

  • 目前支持120Hz的设备包括iPhone 13 Pro/Pro Max、iPhone 14 Pro/Pro Max、iPad Pro(10.5英寸及后续Pro机型)等。

内容的提问来源于stack exchange,提问作者Reanimation

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 16:40:14