源码下载
https://github.com/sufadi/AndroidCpuTools
主要配置不同场景下的开核数和频率值
1./system/vendor/etc/perfservscntbl.txt
/vendor/mediatek/proprietary/hardware/perfservice/mt[xxxx]/scn_tbl/perfservscntbl.txt
Z91:/system/vendor/etc # cat perfservscntbl.txt
cat perfservscntbl.txt
CMD_SET_SCN_VALID, SCN_SW_FRAME_UPDATE, 0
CMD_SET_CLUSTER_CPU_CORE_MIN, SCN_APP_SWITCH, 0, 4
CMD_SET_CLUSTER_CPU_FREQ_MIN, SCN_APP_SWITCH, 0, 3000000
CMD_SET_TA_BOOST_VALUE, SCN_APP_SWITCH, 1100
CMD_SET_CLUSTER_CPU_CORE_MIN, SCN_PACKAGE_SWITCH, 0, 4
CMD_SET_CLUSTER_CPU_FREQ_MIN, SCN_PACKAGE_SWITCH, 0, 3000000
CMD_SET_VCORE_MIN, SCN_PACKAGE_SWITCH, 0
CMD_SET_TA_BOOST_VALUE, SCN_PACKAGE_SWITCH, 1100
CMD_SET_PPM_LIMIT_BIG_FREQ, SCN_PACKAGE_SWITCH, 0
CMD_SET_CLUSTER_CPU_CORE_MIN, SCN_PROCESS_CREATE, 0, 4
CMD_SET_CLUSTER_CPU_FREQ_MIN, SCN_PROCESS_CREATE, 0, 3000000
CMD_SET_VCORE_MIN, SCN_PROCESS_CREATE, 0
CMD_SET_TA_BOOST_VALUE, SCN_PROCESS_CREATE, 1100
CMD_SET_PPM_LIMIT_BIG_FREQ, SCN_PROCESS_CREATE, 0
CMD_SET_CLUSTER_CPU_CORE_MIN, SCN_APP_LAUNCH, 0, 4
CMD_SET_CLUSTER_CPU_FREQ_MIN, SCN_APP_LAUNCH, 0, 3000000
CMD_SET_VCORE_MIN, SCN_APP_LAUNCH, 0
CMD_SET_TA_BOOST_VALUE, SCN_APP_LAUNCH, 1100
CMD_SET_FPSGO_ENABLE, SCN_APP_LAUNCH, 0
CMD_SET_CLUSTER_CPU_CORE_MIN, SCN_APP_INSTALL, 0, 4
CMD_SET_CLUSTER_CPU_FREQ_MIN, SCN_APP_INSTALL, 0, 3000000
CMD_SET_VCORE_MIN, SCN_APP_INSTALL, 0
CMD_SET_TA_BOOST_VALUE, SCN_APP_INSTALL, 1100
CMD_SET_FPSGO_ENABLE, SCN_APP_INSTALL, 0
CMD_SET_CLUSTER_CPU_CORE_MIN, SCN_APP_ROTATE, 0, 4
CMD_SET_CLUSTER_CPU_FREQ_MIN, SCN_APP_ROTATE, 0, 3000000
CMD_SET_VCORE_MIN, SCN_APP_ROTATE, 0
CMD_SET_TA_BOOST_VALUE, SCN_APP_ROTATE, 1100
CMD_SET_CLUSTER_CPU_CORE_MIN, SCN_GAME_LAUNCH, 0, 4
CMD_SET_CLUSTER_CPU_FREQ_MIN, SCN_GAME_LAUNCH, 0, 3000000
CMD_SET_VCORE_MIN, SCN_GAME_LAUNCH, 0
CMD_SET_TA_BOOST_VALUE, SCN_GAME_LAUNCH, 1100
CMD_SET_PPM_LIMIT_BIG_FREQ, SCN_GAME_LAUNCH, 0
CMD_SET_FPSGO_ENABLE, SCN_GAME_LAUNCH, 0
CMD_SET_CLUSTER_CPU_CORE_MIN, SCN_GALLERY_BOOST, 0, 4
CMD_SET_CLUSTER_CPU_FREQ_MIN, SCN_GALLERY_BOOST, 0, 3000000
CMD_SET_TA_BOOST_VALUE, SCN_GALLERY_BOOST, 1100
CMD_SET_GX_BOOST, SCN_GLSURFACE, 1
CMD_SET_SCN_VALID, SCN_GLSURFACE, 1
CMD_SET_CLUSTER_CPU_CORE_MIN, SCN_SP_MODE, 0, 0
CMD_SET_CLUSTER_CPU_CORE_MIN, SCN_VR_MODE, 0, 0
2./system/vendor/etc/perf_whitelist_cfg.xml
/vendor/mediatek/proprietary/hardware/perfservice/mt[xxxx]/scn_tbl/perf_whitelist_cfg.txt
Z91:/system/vendor/etc # cat perf_whitelist_cfg.xml
cat perf_whitelist_cfg.xml
<?xml version="1.0" encoding="utf-8" ?>
<WHITELIST>
<PerfService>
<Package name="com.imangi.templerun2">
<Activity name="Common">
<CMD_SET_CPU_CORE_MIN Param1="3"/>
</Activity>
</Package>
<Package name="com.tencent.tmgp.sgame">
<Activity name="Common">
<CMD_SET_PACK_BOOST_TIMEOUT Param1="25"/>
<CMD_SET_FSTB_FPS Param1="60" Param2="30"/>
</Activity>
</Package>
<Package name="com.gameloft.android.ANMP.GloftA8HM">
<Activity name="Common">
<CMD_SET_FSTB_FPS Param1="30" Param2="30"/>
</Activity>
</Package>
<Package name="com.happyelements.AndroidAnimal.qq">
<Activity name="Common">
<CMD_SET_FSTB_FPS Param1="50" Param2="26"/>
</Activity>
</Package>
<Package name="com.andromeda.androbench2">
<Activity name="Common">
<CMD_SET_SPORTS_MODE Param1="1"/>
</Activity>
</Package>
<Package name="com.futuremark.pcmark.android.benchmark">
<Activity name="Common">
<CMD_SET_SPORTS_MODE Param1="1"/>
</Activity>
</Package>
<Package name="com.antutu.ABenchMark">
<Activity name="Common">
<CMD_SET_SPORTS_MODE Param1="1"/>
</Activity>
</Package>
<Package name="com.primatelabs.geekbench">
<Activity name="Common">
<CMD_SET_SPORTS_MODE Param1="1"/>
</Activity>
</Package>
<Package name="com.aurorasoftworks.quadrant.ui.professional">
<Activity name="Common">
<CMD_SET_SPORTS_MODE Param1="1"/>
</Activity>
</Package>
<Package name="com.aurorasoftworks.quadrant.ui.advanced">
<Activity name="Common">
<CMD_SET_SPORTS_MODE Param1="1"/>
</Activity>
</Package>
<Package name="com.ludashi.benchmark">
<Activity name="Common">
<CMD_SET_SPORTS_MODE Param1="1"/>
</Activity>
</Package>
</PerfService>
</WHITELIST>
3.示例
/**
* CPU 场景配置文件
*
* @return
*/
public static List<String> getCpuSceneInfo() {
List<String> result = new ArrayList<>();
BufferedReader br = null;
try {
String line;
br = new BufferedReader(new FileReader("/system/vendor/etc/perfservscntbl.txt"));
result.add("/system/vendor/etc/perfservscntbl.txt");
while ((line = br.readLine()) != null) {
result.add(line);
}
result.add("/system/vendor/etc/perf_whitelist_cfg.xml");
br = new BufferedReader(new FileReader("/system/vendor/etc/perf_whitelist_cfg.xml"));
while ((line = br.readLine()) != null) {
result.add(line);
}
br.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}