gpt4 book ai didi

iOS 11 CPU 节流和空闲计时器

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:28:33 25 4
gpt4 key购买 nike

在 iPhone SE 上,升级到 iOS 11.4 后,我现在在大约 8-10 秒后看到一个非常奇怪的 CPU 节流结果。我正在使用一个非常简单的示例应用程序(部署目标设置为 iOS 10.3),它显示单个 View 并在对 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

最佳答案

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

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

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

关于iOS 11 CPU 节流和空闲计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52727578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com