线程优化模块使用说明

一个使用纯C语言编写,支持定义规则的安卓应用与游戏线程优化程序

一、核心概念与配置

1. 配置文件路径

/data/adb/modules/AppOpt/applist.conf

2. 处理器架构示例(以高通骁龙888八核处理器为例)

采用了4+3+1核心设计:

二、规则解析与示例

示例1 进程级规则:应用包名=核心范围

com.tencent.tmgp.sgame=4-7

将王者荣耀所有线程绑定到CPU4-7(性能核心)

示例2 线程级规则:应用包名{线程名}=核心范围

com.tencent.tmgp.sgame{UnityMain}=7

精准绑定王者荣耀的UnityMain线程到超大核心7

三、CPU核心范围表示法

四、通配符高级用法

com.tencent.tmgp.sgame{Unity*}=6-7

匹配所有Unity开头的线程(如UnityMain、UnityGfxDeviceW)

com.example.app{*Main}=4-6

匹配所有以Main结尾的线程

com.tencent.tmgp.sgame{Job.worker [1-2]}=4-6

匹配名为Job.worker 1与Job.worker 2的线程

com.tencent.tmgp.sgame{Thread-[0-9]*}=4-6

匹配Thread-开头且后一位为数字的线程,例如Thread-123、Thread-0abc

五、规则编写指南

  1. 线程分配应该遵循高占用线程优先分配性能核心,中/低占用分配到中/小核心簇,避免线程间争抢资源。
  2. 单个线程在任意时刻只能在一个CPU核心上执行指令,其指令流具有顺序性和依赖性,无法被拆分到多个核心并行处理。
  3. 线程级规则优先级高于进程级。

王者荣耀优化示例

例如我手机CPU为高通骁龙8 Elite,采用了6+2核心设计,有六颗中核(0-5)与两颗高性能大核(6-7),而王者荣耀UnityMain与UnityGfxDeviceW两个线程CPU占用是最大的,那么我可以将优化规则写为

com.tencent.tmgp.sgame{Unity*}=6-7
com.tencent.tmgp.sgame=0-5

它表示将Unity开头的两个高占用线程绑定到高性能大核,其它线程绑定到0-5。

性能监测示意图

FTP应用优化示例

com.ftpshare=4-7

例如我手机上有一个FTP共享文件的应用,它的优化不太好,老是跑在小核心上,导致文件共享的速度不够快,那么我为它添加上述规则,就可以提升文件共享速度了。

游戏应用优化逻辑

依旧用王者荣耀举例。假设当前设备是4+3+1核心设计的CPU,我们可以将最高负载的一个线程放超大核7,中等负载放中核4-6,低负载0-6。

可以得出以下4条规则:

com.tencent.tmgp.sgame{UnityMain}=7
com.tencent.tmgp.sgame{UnityGfxDeviceW}=4-6
com.tencent.tmgp.sgame{Job.worker*}=4-6
com.tencent.tmgp.sgame=0-6

将这4条规则保存到applist.conf中即可

六、优化验证与调试

推荐工具:

验证步骤:

  1. 观察每个线程CPU核心占用后为其合理分配核心
  2. 这条规则实际性能优化表现(帧率/延迟)
  3. 合理的线程规划可以让游戏帧率更稳定的同时功耗更低

💡 聪明的你现在已经学会如何使用线程优化模块,并举一反三优化你的应用与游戏了

资源下载

Magisk模块下载:
蓝奏云下载地址
密码:suto