12下一页
返回列表 发新帖

骁龙8e全游戏核心分配

[复制链接]

124

主题

1391

回帖

5741

积分

硕士生

Rank: 6Rank: 6

金币
2753
好评
11
信誉
98
QQ
发表于 2025-3-10 08:30:47 来自手机  | 显示全部楼层 | 阅读模式  来自 广西
#!/bin/bash

# 权限检查
[ "$(id -u)" -ne 0 ] && { echo "错误:需要 root 权限运行" >&2; exit 1; }

# 启动和停止服务
start oiface
stop gameopt_hal_service-1-0
start vendor.urcc-hal-aidl
pm install-existing --user 0 com.oplus.cosa
pm enable com.oplus.cosa

# 设置 CPU 频率
xs() { chmod 666 $2; echo $1 > $2; chmod 444 $2; echo $2 $1; }
xs 2600000 /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq
xs 2600000 /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq
for file in /sys/devices/system/cpu/cpu*/core_ctl/enable; do
xs 0 $file
done

HIGH_CORES=(6 7)  # 高优先级核心编号
HIGH_MASK=0
# 计算 HIGH_MASK
for CORE in "${HIGH_CORES[@]}"; do
    HIGH_MASK=$((HIGH_MASK | (1 << CORE)))
done
# 转换为十六进制格式
HIGH_MASK_CPU=$(printf "%x" "$HIGH_MASK")

ALL_CORES=(0 1 2 3 4 5 6 7)  # 全部核心编号
ALL_MASK=0
# 计算 ALL_MASK
for CORE in "${ALL_CORES[@]}"; do
    ALL_MASK=$((ALL_MASK | (1 << CORE)))
done
# 转换为十六进制格式
ALL_MASK_CPU=$(printf "%x" "$ALL_MASK")

# 主循环,持续监控进程
while true; do
    # 获取当前前台应用的 PID
    CURRENT_PID=$(ps -eo res,pid,cmdline --sort=+res | tail -n 1 | awk '{print $2}')
    CMDLINE=$(ps -eo res,pid,cmdline --sort=+res | tail -n 1 | awk '{print $3}')
    if [ -n "$CURRENT_PID" ]; then
        # 跳过 system_server 的进程
        if [[ "$CMDLINE" == *"system_server"* ]]; then
            echo "跳过 system_server 进程:PID=$CURRENT_PID"
            
sleep 1

            continue
        fi

        # 检查是否已经记录过该 PID 的线程 ID
        if [ -z "${PID_TID_MAP[$CURRENT_PID]}" ]; then
            # 如果未记录,查找并记录 CPU 占用最高的线程的 tid
            cpu_usage=$(ps -T -p $CURRENT_PID -o pid,tid,%cpu | awk 'NR > 1')
            FIRST_TID=$(echo "$cpu_usage" | sort -k3nr | awk 'NR==1 {print $2}')
            PID_TID_MAP[$CURRENT_PID]=$FIRST_TID
            echo "记录新的 PID:$CURRENT_PID,线程 ID:$FIRST_TID"
        else
            FIRST_TID=${PID_TID_MAP[$CURRENT_PID]}
            echo "使用已记录的 PID:$CURRENT_PID,线程 ID:$FIRST_TID"
        fi

        # 为记录的线程分配 CPU 核心
        taskset -p $HIGH_MASK_CPU $FIRST_TID
        # 设置该线程的实时调度优先级
        chrt -r -p $FIRST_TID 1
        echo "$FIRST_TID taskset $HIGH_MASK_CPU $FIRST_TID chrt"

sleep 1

        # 为其余线程分配 CPU 核心 0-7
        for TID in $(ps -T -p $CURRENT_PID -o tid=); do
            if [ "$TID" != "$FIRST_TID" ]; then
                taskset -p $ALL_MASK_CPU $TID
                echo "$TID taskset $ALL_MASK_CPU"
            fi
        done
    fi

sleep 0.25

done
保存到一个核心.sh里面
下面这段用于启动
sh 放点我执行下面(8e版).sh &
保存到一个启动核心.sh里面
通过启动核心.sh启动
回复

使用道具 举报

36

主题

681

回帖

1977

积分

高中生

Rank: 4

金币
936
好评
1
信誉
102

考神MT论坛新人

发表于 2025-3-10 08:58:28 来自手机  | 显示全部楼层  来自 河南
干嘛用的
回复

使用道具 举报

124

主题

1391

回帖

5741

积分

硕士生

Rank: 6Rank: 6

金币
2753
好评
11
信誉
98
QQ
发表于 2025-3-10 09:00:05 来自手机  | 显示全部楼层  来自 广西
343400544 发表于 2025-3-10 08:58
干嘛用的

优化游戏帧数
回复

使用道具 举报

65

主题

3825

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
2358
好评
12
信誉
100

MT论坛最佳新人考神MT论坛帅哥MT论坛新人MT论坛活跃会员

发表于 2025-3-10 09:05:43 来自手机  | 显示全部楼层  来自 乌克兰
感谢分享,支持一波
回复

使用道具 举报

36

主题

681

回帖

1977

积分

高中生

Rank: 4

金币
936
好评
1
信誉
102

考神MT论坛新人

发表于 2025-3-10 09:06:38 来自手机  | 显示全部楼层  来自 河南
那是个好东西
回复

使用道具 举报

36

主题

6074

回帖

1万

积分

博士生

水博士

Rank: 7Rank: 7Rank: 7

金币
4917
好评
7
信誉
97
发表于 2025-3-10 09:16:55 来自手机  | 显示全部楼层  来自 北京
码字不易,感谢大佬分享
回复

使用道具 举报

1

主题

6559

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
8715
好评
3
信誉
100
发表于 2025-3-10 10:27:32 | 显示全部楼层  来自 湖北
这是高深玩家了。
回复

使用道具 举报

0

主题

386

回帖

886

积分

高中生

Rank: 4

金币
154
好评
0
信誉
100
发表于 2025-3-10 10:28:34 来自手机  | 显示全部楼层  来自 湖北
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

86

主题

7371

回帖

1万

积分

博士生

梦想界

Rank: 7Rank: 7Rank: 7

金币
744
好评
8
信誉
123

考神MT论坛活跃会员

发表于 2025-3-10 11:18:34 来自手机  | 显示全部楼层  来自 福建
感谢分享
回复

使用道具 举报

56

主题

8410

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
4702
好评
28
信誉
114

MT论坛最佳新人MT论坛帅哥考神MT论坛活跃会员

发表于 2025-3-10 11:31:08 来自手机  | 显示全部楼层  来自 福建
感谢分享
回复

使用道具 举报

12

主题

5247

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
1594
好评
16
信誉
578

考神MT论坛帅哥MT论坛新人MT论坛最佳新人MT论坛活跃会员

发表于 2025-3-10 12:38:15 来自手机  | 显示全部楼层  来自 广东
感谢分享
回复

使用道具 举报

152

主题

7921

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
11462
好评
10
信誉
104

MT论坛最佳新人考神MT论坛新人MT论坛帅哥

发表于 2025-3-10 12:46:21 来自手机  | 显示全部楼层  来自 云南
感谢分享
回复

使用道具 举报

0

主题

1万

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
6870
好评
1
信誉
100
发表于 2025-3-10 15:37:10 来自手机  | 显示全部楼层  来自 河北
不懂,感觉好深奥
回复

使用道具 举报

13

主题

2461

回帖

5375

积分

硕士生

Rank: 6Rank: 6

金币
2639
好评
0
信誉
100

考神MT论坛新人

QQ
发表于 2025-3-10 21:39:36 来自手机  | 显示全部楼层  来自 湖南
先收藏
回复

使用道具 举报

124

主题

1391

回帖

5741

积分

硕士生

Rank: 6Rank: 6

金币
2753
好评
11
信誉
98
QQ
发表于 2025-3-10 22:06:54 来自手机  | 显示全部楼层  来自 广西
指尖轻点呆呆 发表于 2025-3-10 21:39
先收藏

☺️
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表