找回密码
 加入我们
搜索
      
查看: 1688|回复: 40

[CPU] 拯救你的9953游戏体验,超简单ProcessLasso设置指南

[复制链接]
发表于 2025-6-28 20:16 | 显示全部楼层 |阅读模式
本帖最后由 Evalyn 于 2025-6-28 20:16 编辑

最近神奇的发现打游戏时副屏挂个直播,直播窗口居然会掉帧。这在9953+5090的机器上简直是不可能的事情。

于是深入观察了一下游戏时9953的调度情况,发现了下图 这让人心肺骤停的一幕。

20250628191305.png

搜索相关问题后,在NGA发现一个讨论帖

简单总结一下就是:

AMD芯片组3D V-Cache调度优化的本质,就是在游戏时将9950x3d作为9800x3d使用!

网传的x3d处理器需要使用win11的game bar标记游戏,然后安装3D V-Cache芯片组驱动,其实就做的是这个蠢事。
1. game bar标记游戏
2. 芯片组驱动从game bar获取进程标记
3. 在标记为“游戏”的进程处于前台运行时,主动暂停ccd1
4. 系统在游戏前台时,将所有负载尽量运行在ccd0上
5. 仅在ccd0负载过高时,才启动ccd1

这套调度逻辑在游戏时完全浪费了非x3d的ccd... 这也是我在游戏时副屏的直播窗口会偶发掉帧的原因

针对这个问题,解决方式有两种:
  • 自己手动设置CPU亲和性,将浏览器锁死在ccd1上
  • 关闭芯片组调度优化(即游戏时:始终启用双ccd),然后使用操作系统调度偏好将不同进程分配给两个ccd


前者虽然方便,可以不借助任何额外软件,但局限性也比较明显:无法在需要时调用另一个ccd,而且每次启动应用时都要通过脚本设置太繁琐了。
后者会更灵活一些,并且在需求多线程高性能时候仍然可以使用另一个ccd。

所以我直接选择了后者,借助ProcessLasso简单设置2套规则,就在和芯片组驱动共存的情况下实现了自定义游戏期间的cpu调度。
效果如下,结果非常丝滑,游戏帧数平稳,而且直播不再掉帧。
20250628194024.png
20250628191142.png

下面开始教程:

0. 首先你得安装个ProcessLasso,这里不再赘述了,100来块买个这个真的值,功能太全了。
以下都把这个软件简称为PR。

1. 因为AMD芯片组调度优化在系统电源策略处于“高性能”时,会自动禁用。所以我们需要在启动游戏时自动将电源设置切换至高性能。
PR自带这个功能,支持匹配进程名称或者是按路径匹配。

这里需要进行两个设置:选择要切换的power profile,以及哪些进程运行时需要切换电源策略

先设置要切换的电源模式,记得直接选高性能。
20250628194809.png
20250628194826.png

然后设置哪些进程运行时需要切换电源策略。我就填了几个常玩的米游,然后把steam游戏库的路径加进去了。
注意可以使用*通配符匹配
20250628194856.png
20250628194916.png

设置完成后,可以跑几个目标进程看一下,比如我从steam启动了3dmark,然后发现系统电源策略立即切换成了高性能模式。
20250628195217.png

2. 设置进程的cpu调度偏好,这里需要使用到一个名为cpu set的功能。

因为我只想干预用户自己的进程,操作系统进程我不太想管,而且干预系统进程可能造成未知稳定性问题。
又因为我系统是有C、D、E三个盘,大部分我自己安装的应用都在DE两个盘上。

所以我的设置思路就是:
  • 游戏目录下启动的应用,优先使用ccd0
  • 除此之外,chrome浏览器,还有D、E两个盘上启动的进程,优先使用ccd1


设置如下,非常简单,直接采用正则匹配进程的路径即可
20250628195854.png

这里参考PR官方文档的regex匹配,比如下面的正则匹配的是D盘steam游戏库下启动的应用。
如果你游戏安装在其他路径,也只需要添加对应文件夹路径即可。
  1. /^([^,]*,){3}d:\\steam\\steamapps\\common\\.+\.exe,/
复制代码


匹配顺序是从上至下,命中规则后就不再向下匹配了。
20250628200017.png


这套规则维护起来也非常简单,电源策略和cpu sets都可以使用路径匹配模式。配置好之后完全自动切换。

也就是说后面,你只需要把游戏,或者需要使用ccd0的程序安装在特定路径下,然后就可以自动享受优先调度ccd0,性能不足时再继续使用ccd1。

而且这套设置和AMD芯片组驱动完全兼容,如果你想恢复AMD默认调度行为,只需要退出ProcessLasso即可,非常方便快捷。

好了,教程完毕。

ENJOY GAMING!

20250628201346.png

我ITX散热比较渣,就别骂为啥打游戏频率只有5.1GHz了


评分

参与人数 1邪恶指数 +100 收起 理由
witson + 100

查看全部评分

发表于 2025-6-28 20:31 | 显示全部楼层
本帖最后由 silverse 于 2025-6-29 16:55 编辑

mark一下,可以回家试试

事实证明指望AMD和微软完全不靠谱



更新:感谢LZ整理发帖,稍微折腾了一下,在LZ基础上做了些改进

没有照抄作业的原因是,此前其实已经把AMD和微软这套调度逻辑折腾得差不多了,Windows可以正确识别游戏并park CCD1。但是某些游戏如果8核喂不饱,但凡出现额外调用CCD1的时候就会出现严重卡顿。比较罕见,但是真遇到了极度下头

所以我自己的调度思路是:禁用core parking,所有程序优先调度CCD1,在游戏运行时,强制只给游戏CCD0的资源。这样的好处是彻底解决了跨CCD的卡顿问题,并且适当将非游戏应用扔给CCD1。局限是如果遇到一个CCD怎么也喂不饱的游戏,会显著影响性能(比如天际线,不过还好我不玩)

所以设置如下
9950X3D
华硕X670E-PRO WIFI
24G×2 M-die @6000C30
RTX4090

BIOS
Core Parking: 禁用(华硕主板在BIOS禁用了以后parking依然会生效,还得在系统层面设置电源模式才可以。不知道本该如此还是bug,也不知道其他家主板什么样,有知道的大佬欢迎补充)
CPPC Preferred Cores: Frequency
Core Flex: 所有优先调用核调成CCD1

系统
控制面板中电源模式调整为高性能(彻底禁用Core parking)

PL
CPU Affinity(注意不是LZ用的CPU set),按照楼主的示例,对游戏目录增加rule。

此外,额外对游戏平台的主程序增加rule,仅可调用CCD0。这一步的原因是某些内置反作弊程序的游戏可能按照路径设置规则不会生效,如果对平台主程序设置规则(如steam.exe)就没问题了


试了几个游戏,最后那点烦人的卡顿也彻底没了,爽歪歪。如果某些情况下需要最大化CPU性能(比如编译着色器),退出PL再启动即可


最后,微软和AMD的工程师们,谢谢你们全家
发表于 2025-6-28 21:14 | 显示全部楼层
这东西确实好用
就算是免费版也有很多很实用的功能
发表于 2025-6-28 21:17 来自手机 | 显示全部楼层
感谢分享,有空试试
发表于 2025-6-28 21:31 | 显示全部楼层
有破解版
发表于 2025-6-28 22:35 | 显示全部楼层
自动切高性能配置文件还是很不错的。
发表于 2025-6-28 22:47 | 显示全部楼层
发表于 2025-6-28 22:52 | 显示全部楼层
本帖最后由 cst4you 于 2025-6-28 22:54 编辑

本质是 cpu core packing, 普通电源 profile 是 50%
性能是 100%
自己改也是可以的


50%的时候游戏+直播 (1080p 120 fps, x264 medium preset cpu 硬扛)
当时因为这个也查了一阵子, 为什么一切游戏前台, 我 obs就掉帧
obs因为cpu算力不够掉帧, 游戏帧数影响
改到 100%, 问题解决, 游戏帧数影响很小很小
发表于 2025-6-28 23:03 | 显示全部楼层
感觉没必要用正则表达式啊
发表于 2025-6-28 23:15 来自手机 | 显示全部楼层
mark一下,有空试试,多谢楼主分享
发表于 2025-6-28 23:38 | 显示全部楼层
还能按路径来搞,有意思。我还在用批处理
发表于 2025-6-28 23:51 | 显示全部楼层
还是太麻烦了,不如9800X3D用的爽!
发表于 2025-6-28 23:57 | 显示全部楼层
没必要那么麻烦。
把浏览器、聊天软件之类放到CCD1亲和就行了。注意steam不可以放CCD1
发表于 2025-6-28 23:59 | 显示全部楼层
mark有时间抄下作业
发表于 2025-6-29 08:20 来自手机 | 显示全部楼层
ykdo 发表于 2025-6-28 23:57
没必要那么麻烦。
把浏览器、聊天软件之类放到CCD1亲和就行了。注意steam不可以放CCD1 ...

求教   steam挂到CCD0吗?为啥不能放1
 楼主| 发表于 2025-6-29 09:32 来自手机 | 显示全部楼层
ykdo 发表于 2025-6-28 23:57
没必要那么麻烦。
把浏览器、聊天软件之类放到CCD1亲和就行了。注意steam不可以放CCD1 ...

steam本体我是放ccd1的。感觉好像没啥问题
发表于 2025-6-29 10:00 | 显示全部楼层
谢谢分享,省的自己研究了,哈哈
发表于 2025-6-29 10:22 来自手机 | 显示全部楼层
Evalyn 发表于 2025-6-29 09:32
steam本体我是放ccd1的。感觉好像没啥问题

可能会导致游戏的依赖库调用跨L3吧。
发表于 2025-6-29 11:25 | 显示全部楼层
本帖最后由 menuu 于 2025-6-29 11:29 编辑

B站有人用城市天际线1&2测试过
https://www.bilibili.com/video/BV1mKXEYKEgr/
他的结论是:其实并不是
在游戏时将9950x3d作为9800x3d使用

QQ截图20250629112621.jpg
发表于 2025-6-29 11:33 | 显示全部楼层
这个软件给intel用也挺好的,我是把所有的后台都指定到小核。游戏或者前台有性能需求的给大核心
 楼主| 发表于 2025-6-29 11:38 来自手机 | 显示全部楼层
menuu 发表于 2025-6-29 11:25
B站有人用城市天际线1&2测试过
https://www.bilibili.com/video/BV1mKXEYKEgr/
他的结论是:其实并不是

你仔细看后面,天际线这种非常吃多核的是另一种特例,他会因为负载问题导致启用ccd1
 楼主| 发表于 2025-6-29 11:40 来自手机 | 显示全部楼层
af_x_if 发表于 2025-6-29 10:22
可能会导致游戏的依赖库调用跨L3吧。

游戏本身和steam就只有几个ipc通信,而且不是和游戏逻辑强相关,跨进程通信应该影响不大
发表于 2025-6-29 14:04 | 显示全部楼层
我更加懒...

手动先全部CCD1,运行游戏了再把它设置到CCD0,反正没多少游戏- -...

但我发现了一个特殊的情况,vmware的虚拟机,只要你设置亲和性,运行中设置是没问题的,但是设置好后,虚拟机冷启动就不行了...
发表于 2025-6-29 14:17 | 显示全部楼层
sharryliu 发表于 2025-6-29 08:20
求教   steam挂到CCD0吗?为啥不能放1

steam挂1那么默认启动的steam游戏也会跟着挂1,除非你手动设置有为0
发表于 2025-6-29 14:31 | 显示全部楼层
怪我?

AMD_Xbox_Game.jpg
 楼主| 发表于 2025-6-29 14:33 | 显示全部楼层
ykdo 发表于 2025-6-29 14:17
steam挂1那么默认启动的steam游戏也会跟着挂1,除非你手动设置有为0

我示例的设置就是steam挂1但是steam游戏挂0的
发表于 2025-6-29 14:41 | 显示全部楼层
Evalyn 发表于 2025-6-29 14:33
我示例的设置就是steam挂1但是steam游戏挂0的

我玩帝国4的悲惨经历,觉得低帧有点卡,结果查看PL时发现游戏被限制在了CCD1。我取消steam的相关性就好了
发表于 2025-6-29 14:58 | 显示全部楼层
感谢分享,楼主辛苦了!点赞!
 楼主| 发表于 2025-6-29 15:08 | 显示全部楼层

微软已经没救了,被阿三占据的厂子都得黄。intel就是下场
发表于 2025-6-29 18:15 | 显示全部楼层
Evalyn 发表于 2025-6-29 14:33
我示例的设置就是steam挂1但是steam游戏挂0的

可以对比一下steam挂0和挂1的效果,毕竟内存寻址是统一的,不至于真的运行不了,问题是效率区别。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-6-30 12:37 , Processed in 0.016713 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

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