【问题标题】:iOS 11 CPU throttling and idle timeriOS 11 CPU 节流和空闲计时器
【发布时间】:2018-10-09 18:51:44
【问题描述】:

在 iPhone SE 上,升级到 iOS 11.4 后,我现在在大约 8-10 秒后看到一个非常奇怪的 CPU 节流结果。我正在使用一个非常简单的示例应用程序(部署目标设置为 iOS 10.3),它显示单个视图并在对 drawInMTKView 的调用中执行解码操作。应用程序启动时 CPU 使用率符合预期 (10-15%),但在 8-10 秒的窗口后,CPU 似乎被大幅降低,因此在 CPU 全速下需要 4-5 毫秒的帧解码操作需要 16-17 毫秒(CPU 使用率约为 60%)。我试图通过切换 idleTimerDisabled 标志来禁用任何 iOS 空闲计时器,但这似乎对此没有影响。有趣的是,从纵向旋转到横向将重置此限制,并且解码将再次全速运行,直到 8-10 秒的不活动再次将其限制下来。这里可能发生了什么?我读到 iOS 11 包含一些新的电池管理代码,但我的设备是新设备,并且 General->Battery 中的电池设置表明设备正在全速运行。是否有其他应用标志或设置可以禁用此限制?

(full speed)
decode time 5.74 ms
decode time 5.87 ms
decode time 5.37 ms
decode time 5.81 ms
decode time 5.56 ms
decode time 5.97 ms

(after 8-10 second, reduced speed)
decode time 16.65 ms
decode time 16.65 ms
decode time 17.02 ms
decode time 16.49 ms
decode time 16.95 ms
decode time 16.03 ms

【问题讨论】:

  • 我已经能够将复杂的 Metal 代码精简为一个简单的示例,该示例可以从单个纹理渲染到金属视图中。在我的 iPhone SE 上,我首先看到 40% 的 CPU 使用率,然后在空闲计时器触发后 CPU 上升到 60%。从纵向旋转到横向会使 CPU 使用率在短时间内回落到 40%。 github.com/mdejong/MetalKitCPUThrottling
  • 我将 iPad 升级到 iOS 12 并再次测试,结果没有变化。
  • 您是否尝试将部署目标(至少暂时)设置为与设备所在的完全相同的版本?此外,您是否仅在设备连接到调试器/Xcode 时或“独立”运行时才看到问题(除非您有一些调试 UI,否则很难弄清楚)?发布和调试版本的行为是否相同?我只是在这里疯狂地猜测,但在一个 AR 项目中,我在更新后收到了 Shader performance data maybe unavailable due to deployment target older than device version 警告(现在有不同的部署目标)。也许这有关系?
  • 我在启动应用程序时遇到了同样的问题,根据手机的状态,该应用程序的特定部分需要更多时间来执行。我从assertiond 中找到了一些行,说New process assertion state; preventSuspend, preventThrottleDownUI, preventThrottleDownCPU, preventSuspendOnSleep [...] 虽然我找不到关于这些行为的文档:(

标签: ios


【解决方案1】:

这可能与您的体验有关:我们发现,分析应用程序的行为可能会在不合适的情况下欺骗这些版本的 iOS 进行降频。在未连接到主机 PC 的发布版本中未出现此问题。

我们有一个应用程序的渲染循环运行时间不到 8 毫秒 - 远低于 60 fps 游戏所需的约 16 毫秒。当连接到分析器时,目标设备会检测到这一点并降频 - 但与分析器通信的开销会将帧时间推到 16 毫秒以上,从而导致 30 fps 的游戏。

除了认识到它正在发生并考虑到它之外,我们没有找到解决此问题的方法。当我们向应用程序添加额外的渲染负载,将其推到超过 8 毫秒时,问题就消失了,因为目标设备不再降频。

【讨论】:

  • 我也遇到了同样的问题,非常感谢您提供的使用额外渲染负载进行测试的想法,这真的很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-18
  • 1970-01-01
  • 2013-01-13
相关资源
最近更新 更多