android - 如何根据我的应用程序设置 Android 的 GPU/cpu 频率?
问题描述
我不想使用内核管理器手动设置 cpu 和 GPU 频率,而是想创建一个脚本,当我打开一个特定的应用程序(比如一个繁重的 android 游戏)时,我想要该游戏的 GPU/cpu 速度以及所需的时钟当我关闭该应用程序时的速度,当我的屏幕关闭时,最后也是一种所需的状态。
解决方案
我知道一种仅在您的设备植根时适用的方法。
设置 CPU 频率:
Android 设备通常采用 big-little core 架构。对于每部手机,您都应前往其官方网站查看其硬件参数。现在,让我们假设样机有 4 个小核和 4 个大核。它们的索引为 0-7(前 4 个是小的,其他的是大的)。
cd /sys/devices/system/cpu
小核心:
echo userspace > cpu0/cpufreq/scaling_governor && echo ${freq} > cpu0/cpufreq/scaling_setspeed
大核心:
echo userspace > cpu4/cpufreq/scaling_governor && echo ${freq} > cpu4/cpufreq/scaling_setspeed
我还强烈建议您在谷歌上搜索什么是 agovernor
以及所有与 CPU 频率相关的接口是如何工作的。
设置 GPU 频率:
首先要做的是找出虚拟设备文件的位置:
find / -name "available_governors" 2> /dev/null
这可能会输出类似/path/to/folder/available_governors
. 这里我们注意GPUDIR=/path/to/folder
。
然后我们可以设置一个我们想要的静态频率:
cd $GPUDIR
echo userspace > governor
echo $freq > userspace/set_freq
推荐阅读
- jquery - 在单击 orgchart 外部时添加要隐藏的脚本时的切换按钮问题
- swift - 对 Swift 很陌生:无法让我的课程进行交互
- android - 将多个文件上传到 Firebase 存储
- vba - 从另一个窗体调用控件获取错误:未找到方法或数据成员
- python - SQLAlchemy jsonb 列 - 如何根据键上的 id 列表执行过滤器
- c - C 初学者 - 编程算术算法?
- python - Python 错误的命名实体识别
- raml - 在 RAML 数据类型中定义 XML 命名空间
- php - 将多维数组排序为特定值
- haskell - 使用 as-pattern 时的非详尽模式