关于intel apo技术的简单测试和猜想
本帖最后由 dirbackif01 于 2024-3-23 11:55 编辑1、测试结果
简单在1080p下测试了四个游戏,结果属于是有些幽默了:
除了地铁离去以外,ff14的提升只能说聊胜于无,剩下两个甚至是负优化。
地铁离去是首发apo即支持的游戏,换句话说,新添加的游戏仅我测试的,2/3是负优化。
另外可以看到,apo并不是直接按照游戏分配线程,系统电源计划会严重影响apo的运行(这个很重要)。
2、结果分析
地铁和看门狗有benchark,这两个也是变化最大的两个游戏,就以这两个游戏进行分析。
地铁离去提升明显,原因比较好理解;
这是默认状态下线程占用:
差不多占用24个逻辑核心,和149k的物理核心数量一致,游戏设置的线程池应该就是24.
这是apo状态下的线程占用:
占用8个线程,正好对应8个物理大核心。这时候8个大核心均处于将将吃满的状态,可以认为8个线程是地铁合适的优化。
之前有网友认为apo就是屏蔽小核和ht的东西,用process lacoo一样能做到,那么手动绑定亲和性到8个大核心上,是否可以做到一样的效果呢?
事实上并不可以。
我尝试使用process lasso或者直接使用任务管理器绑定大核心亲和性,结果是根本不能正常游戏,爆卡。
那么,在bios里面关掉小核心是否可行?
如可。
关掉小核心以后,游戏会占用满16个线程,帧数和不关基本无差别;只有继续把超线程也关掉,只留下8个物理大核心,才能做到和apo相同甚至更高的帧数。这也验证了8线程优化最佳的结论。但问题来了,手动绑定线程和apo启动游戏区别又在哪里呢?线程数量冲突?
实际上默认电源策略下apo看门狗军团的帧数倒退,表现和在地铁离去里面手动绑定线程的情况很类似:
仅仅使用4个满载线程,其他所有核心看戏,表现为爆卡。apo在149kf平台运行下,只会使用四个物理核心。
测试出来最佳的帧数是使用https://ngabbs.com/read.php?tid=39471892的纯大核心策略:
16个线程均有占用,换算下来大概是9-10个接近满占用的大核心线程是比较合适的。apo给的4个线程占用是完全不够的。
为什么使用apo+纯大核心策略能让帧数稍微高一点呢?
因为使用这个策略能占用到8个线程:
依旧是使用4个物理核心但是启用了核心对应的smt,默认电源策略下因为coreparking优先度的问题无法正常启用SMT。从这里可以看出来,看门狗中smt效率还是比较高的。并不是所有游戏smt在超过需要8个pcore线程的游戏中都是副作用,事实上2077中使用smt的效率也比小核心要高。
3.结论与猜想
apo并不是像之前猜想的单纯在游戏中屏蔽小核心或者线程分配,而是为游戏选择合适的线程池,以及对应的物理核心数量(不是逻辑核心数)。这点从电源计划设置能影响apo运行可以明显看出。
提升比较大的地铁离去,对于149k来说合适的线程池为8,对应物理核心数量8,无论使用默认电源策略(占用8个pcore逻辑核心)或者纯大核心策略(占用pcore16个逻辑核心),使用8个物理大核心(8+0)都能比原有占用24个物理核心(8+16)有极大提升。
负提升的看门狗,合适的物理核心数量应该为9-10(按pcore核心算力计算),对应的物理核心应该为12-14个pcore逻辑核心(占用smt),或者8p+3e(我没有的彩6开启apo就是这个线程逻辑,同样提升很大)。但目前apo仅仅使用4个物理核心,自然会导致负优化。
这里分享一篇隔壁讨论cs2帖子楼中发出来的文章,作者为nvidia官方游戏优化师,讲的也是限制 CPU 线程以获得更好的游戏性能。
https://developer.nvidia.com/zh-cn/blog/limiting-cpu-threads-for-better-game-performance/
另外,再谈谈个人对于游戏优化的看法。随着win11的更新和大家对于电源策略的设置慢慢熟悉,其实根本就不存在什么大小核乱调度的问题,哪怕我是用默认的电源设置,win11 22h2以后也是严格按照大核>小核心>ht的顺序来,如果游戏设置合理的线程池数量的话,根本不会出现所谓调度问题。事实上不仅仅地铁离去存在手绑亲和性导致线程冲突的问题,cs2一样存在,2077第一版的p核心优化也仅仅做了p核心亲和度设置而没有调整相应的线程池数量。用我朋友的话说就是“一个个自作主张的多核优化”。好在cs2还是可以自己设置线程池数量的,恰当设置线程数能提升20%以上的cs帧数,帧生成曲线也平滑的多。
————————-
又试了下漫威银河护卫队,不出所料几乎无提升.没有开apo的时候我发现占用几乎全在pcore线程上,且正好数量为8.开了apo一样如此.这个游戏大概就是个8线程优化游戏,默认高性能或者平衡都能很好利用上8个pcore.
所以应该可以下结论了.对于游戏默认线程池大于8的游戏,apo会有很好的提升,他会合理的安排线程池和对应的物理核心数量,尽量使用pcore的同时,必要时候借助小核心辅助运算.对于cs2、地铁这类乱设置游戏线程数的应用来说提升非常之大,对于以后对cpu要求越来越高,类似龙信2这样的游戏也非常适合.gta6根据目前的爆料以及数毛社的说法,应该也不是8个pcore就能搞定的游戏.
既然apo可以设置游戏线程池数量以及对应使用物理核心数量,那intel何不干脆开放给玩家自由设置?发布半年了,支持情况还是满地鸡毛.开放给玩家设置,我相信所有需要优化的游戏在一星期内,无论是国内论坛还是国外论坛你都能找到最优设置. 所以,147/149玩游戏需要关闭超线程吗? yuanye8887 发表于 2024-3-22 10:33
所以,147/149玩游戏需要关闭超线程吗?
不需要。 好贴,虽然样本不够多,但是有价值 目前还是只有14代能用。。137k开不了
lasx 发表于 2024-3-22 12:27
目前还是只有14代能用。。137k开不了
13代可以,只是12代可能不行 lasx 发表于 2024-3-22 12:27
目前还是只有14代能用。。137k开不了
137k现在确认是可以了,12代确认不可以 请问图中P核E核 CPU占用的图例是怎么在小飞机里设置出来的哇 目前看来13代有的可以有的不可以,很迷[偷笑] chatr 发表于 2024-3-22 14:09
137k现在确认是可以了,12代确认不可以
主板要790?我asus z690i 开了dtt装了软件,但软件打不开,致命错误。 lasx 发表于 2024-3-22 15:11
主板要790?我asus z690i 开了dtt装了软件,但软件打不开,致命错误。
690就行呀,开一下GNA试试? chatr 发表于 2024-3-22 15:13
690就行呀,开一下GNA试试?
回头试试看。我没啥游戏支持。 cldzyc 发表于 2024-3-22 14:39
请问图中P核E核 CPU占用的图例是怎么在小飞机里设置出来的哇
朋友做的
链接:https://pan.baidu.com/s/1ytDqulSX0wIWFb475pt_UA?pwd=4396
提取码:4396
卖国嘉z790小雕+13700k已经能打开,没测试啥效果 dirbackif01 发表于 2024-3-22 15:57
朋友做的
感谢分享 chatr 发表于 2024-3-22 15:13
690就行呀,开一下GNA试试?
无法启动,有解吗?gna开了
lasx 发表于 2024-3-22 21:06
无法启动,有解吗?gna开了
在任务管理器中找到该应用,右键选择打开文件所在位置,从目录打开应该可解 本帖最后由 lasx 于 2024-3-23 10:26 编辑
chatr 发表于 2024-3-23 05:08
在任务管理器中找到该应用,右键选择打开文件所在位置,从目录打开应该可解 ...
不行
找到办法了。我的uwp程序默认不安装到c盘,把这个程序移动到c盘就行了。这软件设计的真垃圾 lasx 发表于 2024-3-23 10:24
不行
找到办法了。我的uwp程序默认不安装到c盘,把这个程序移动到c盘就行了。这软件设计的真垃圾 ...
话说uwp需要安装么?我都没有安装这个 lasx 发表于 2024-3-23 10:24
不行
找到办法了。我的uwp程序默认不安装到c盘,把这个程序移动到c盘就行了。这软件设计的真垃圾 ...
没事了,看错了,我以为是gna 昨晚上装好之后,打了两把游戏,地平线5,居然自动重启了,日志也没有记录到具体什么错误,后来进bios关了相关选项就正常了,可能是我分核心超频,搞得有点高 dirbackif01 发表于 2024-3-23 11:48
没事了,看错了,我以为是gna
gna应该不是必须的吧 honnbin 发表于 2024-3-23 11:56
昨晚上装好之后,打了两把游戏,地平线5,居然自动重启了,日志也没有记录到具体什么错误,后来进bios关了 ...
ddt驱动问题吧,我觉得不稳的话就降频好了… lasx 发表于 2024-3-23 11:59
gna应该不是必须的吧
我也觉得不是,没装我也开启成功了 不负责任的猜测一下,APO限制线程池的原理,可能是通过劫持某些system call或者win32 API之类的方式来实现的,误导地铁之类的游戏检测硬件的机制,最终让游戏误以为是运行在一个关闭E core和P core SMT的环境上。这种劫持方式可能并不通用,每个游戏有自己的一套实现,Intel可能只手动逆向了某几个游戏的代码,所以没有开放给所有游戏。 jjpprrrr 发表于 2024-3-23 12:23
不负责任的猜测一下,APO限制线程池的原理,可能是通过劫持某些system call或者win32 API之类的方式来实现 ...
那可能需要分别对接游戏厂家了吧…以intel的体量,对接游戏做优化应该是很简单的事情,nvidia这点做的就很好.cs2这种游戏至今没有得到优化,也不知道intel在干嘛 jjpprrrr 发表于 2024-3-23 12:23
不负责任的猜测一下,APO限制线程池的原理,可能是通过劫持某些system call或者win32 API之类的方式来实现 ...
你的不负责任猜测可能对了 dirbackif01 发表于 2024-3-23 13:08
你的不负责任猜测可能对了
[偷笑]
当然APO可能不只有这一个作用。Intel官网APO页面也提到了需要BIOS的DTT支持,只是DTT看起来只是功耗和thermal方面的一些调整,对于台式机放开了跑这种情况可能起到的优化作用比较有限,最有效的还是限制线程数量。 今天官网上了新BIOS,更新后12代也能开了 chatr 发表于 2024-3-24 00:53
今天官网上了新BIOS,更新后12代也能开了
华硕的主板吗?
页:
[1]
2