首页 > 解决方案 > 如何根据我的应用程序设置 Android 的 GPU/cpu 频率?

问题描述

我不想使用内核管理器手动设置 cpu 和 GPU 频率,而是想创建一个脚本,当我打开一个特定的应用程序(比如一个繁重的 android 游戏)时,我想要该游戏的 GPU/cpu 速度以及所需的时钟当我关闭该应用程序时的速度,当我的屏幕关闭时,最后也是一种所需的状态。

标签: androidlinux

解决方案


我知道一种仅在您的设备植根时适用的方法。

设置 CPU 频率:

Android 设备通常采用 big-little core 架构。对于每部手机,您都应前往其官方网站查看其硬件参数。现在,让我们假设样机有 4 个小核和 4 个大核。它们的索引为 0-7(前 4 个是小的,其他的是大的)。

  1. 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

推荐阅读