gpt4 book ai didi

android 在屏幕关闭时保持 cpu 全速运行

转载 作者:太空狗 更新时间:2023-10-29 14:25:58 27 4
gpt4 key购买 nike

我创建了一个应用程序,通过在多部手机上运行相同的任务来比较 Android 手机的 CPU 速度。我注意到在 HTC ONE X 上,如果我关闭屏幕,它会变得更慢,而在另一部手机上做同样的事情时它不会改变。在程序中,我将任务放在一个服务中,并在一个单独的线程中运行,优先级设置为最高值 10。

我尝试使用部分唤醒锁在屏幕关闭时保持 CPU 运行。但它在速度方面没有任何区别。

我知道不同的操作系统/用户界面(例如 HTC sense)有自己的电源管理策略。但我想知道是否有任何方法可以在不对手机进行 root 的情况下克服它,意味着让 cpu 以 100% 的时钟频率运行?

更新:最近的实验表明,当屏幕关闭时,One X(带 ICS)将降低其 cpu 频率并禁用多核功能,Galaxy Nexus(带 ICS)将降低约 25% 的性能,Nexus 7 将大部分时间性能下降 25% 左右(偶尔可以在屏幕关闭时以最高速度运行)。

最佳答案

  1. 为什么唤醒锁不起作用?

对于 Qualcomm 设备,CPU 的热插拔是通过名为 mpdecision 的程序处理的。 mpdecision 文件作为供应商可执行文件在我们的系统中运行,它的作用是控制 cpu 的调控器。 mpdecision 定义 cpu1 的性能,每次屏幕关闭时都会执行该文件,因此 cpu1 脚本无用,因为 mpdecision 文件将 cpu1 调控器设置覆盖为 userspace ondemanduserspace是cpu1在线时的governor,ondemand是离线时的governor。 Reference

  1. 我能做些什么来保持 CPU 不降低其频率吗?

您需要停止mpdecision,然后您才能保持CPU 频率。但是,停止 mpdecision 需要 root 权限。所以我认为没有 root 权限就无法保持 CPU 频率。

可以向/sys/devices/system/cpu/cpu0/online写入值来打开或关闭CPU内核,向/sys/devices/system/cpu/写入值cpu0/cpufreq/scaling_setspeed 设置每个核心的频率。我在 Nexus 4 中尝试了这种方法,效果很好。

更多详情可以看this .

关于android 在屏幕关闭时保持 cpu 全速运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610568/

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