繁体   English   中英

iOS上的CPU使用率和功耗之间的关系具体是什么?

[英]What are the specifics of the relation between CPU usage and power consumption on iOS?

我已经阅读了Apple关于CPU功耗的文档,但是仍然存在一些挥之不去的问题。

1%的CPU使用率是否具有与100%的CPU使用率相同的开销,以保持CPU通电?

每个核心是否独立启动和关闭?

开始空闲后,CPU断电需要多长时间?

系统是否通常会使用CPU来完成其自己的任务,从而使CPU始终保持打开状态?

特别是对于我的应用程序,我发现很难在任何适当的时间内将CPU设置为0%。 在典型的会话中,随着用户在应用程序中移动,至少会有稳定的UIScrollView委托调用和UITableViewCell回收调用流,更不用说与内容进行交互了。 但是,根据这篇文章https://apple.stackexchange.com/questions/2876/why-does-gps-on-the-iphone-use-so-much-power,CPU听起来像是一个主要的罪魁祸首。 我希望他们在使用该应用程序时稍作停顿就能让CPU节省一些电量,因此我就可以摆脱长时间运行的任务。

这可能是一个太宽泛的问题,无法以这种格式真正回答。 所有这些都“取决于”并且会随着操作系统和硬件的变化而变化。 但是,您应该首先观看WWDC上与能源有关的各种视频 (很多视频 )。

原则上,0%CPU使用率和1%CPU使用率之间的差异是巨大的。 但是,1%和100%之间的差异也很大。 该系统确实会根据CPU的繁忙程度来完全打开和关闭CPU的不同部分(包括整个内核),如果它可以在几十毫秒内定期降至零,则可以极大地延长电池寿命(这就是为什么iOS的最新版本允许您指定计时器公差,因此它可以一起批量工作,然后返回低功耗模式。

综上所述,当用户实际与您的应用进行交互时,您不应期望CPU数量为零。 显然,响应用户将需要工作。 您应该使用Instruments探索您的能源使用情况,以寻找多余的地方,但是我希望CPU在用户滚动时正在“做事”(怎么可能不行?)您不应尝试人为地注入暂停或任何让CPU进入睡眠状态的东西。 根据一般经验,如果可以帮助您更快地完成工作,然后什么也不做,则最好充分使用CPU。 我的意思是,尽速解析所有大型下载(作为示例)并使用100%CPU,比散布并使用20%CPU的时间长5倍要好得多。

可以使用CPU。 您只是不想浪费它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM