Win11 的效率模式和 EcoQoS 是糊弄人的东西 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Donduck
V2EX    Windows

Win11 的效率模式和 EcoQoS 是糊弄人的东西

  •  
  •   Donduck 2023-03-31 10:12:17 +08:00 3986 次点击
    这是一个创建于 971 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看到有人把效率模式和 EcoQoS 全方面锤了一遍: https://www.bilibili.com/read/cv21378938
    总结一下:

    • 效率模式的原理是降低进程的 base priority ,并通过给进程打开 THROTTLING_EXECUTION_SPEED 的 flag 以启用 EcoQoS ;
    • 修改进程的 base priority 并不会省电,因为 ready queue 里还是这么多东西,CPU 就还是要启动多久时间,而且 Windows 的 scheduler 会自动提高前台进程和因为 priority 不够而一直无法使用 CPU 的进程的 priority ,改 base priority 基本上是自作聪明的行为;
    • EcoQoS 本质就是用了隐藏的电源设置,但是 EcoQoS 无法全局应用,power plan 可以全局应用同样的设置,只会更省电;
    • 最搞笑的是 AMD 的 chipset driver 里找到的 EcoQoS 设置,DC 下的最大频率大于 AC 下的最大频率,糊弄程度可以说板上钉钉,或者 AMD 突破了物理定律,让 CPU 在 2.5GHz 下比 2GHz 更省电:
    8 条回复    2023-04-04 15:23:18 +08:00
    nuII
        1
    nuII  
       2023-03-31 10:27:20 +08:00
    这些设置,系统本身根本做不了什么,只能由硬件联动支持
    shansing
        2
    shansing  
       2023-04-01 08:29:29 +08:00
    文章似乎没考虑 CPU 大小核的情况,猜测效率模式应该会尽量让进程跑在小核上。
    zed1018
        3
    zed1018  
       2023-04-01 09:19:01 +08:00
    @shansing 是这样的没错,在 qos 的文档上 https://learn.microsoft.com/en-us/windows/win32/procthread/quality-of-service ,Eco 类别的释义是“Always selects most efficient CPU frequency and schedules to efficient cores.”,如果按照 intel 大小核构架来讲就是总是选小核并且计划把大核上的转移到小核。blogs 上吹不得吹一下,文章抓住这一点就把整个 Qos 批的一文不值,这玩意儿现在没有不代表以后不会实现到位。不先留个口子,往后怎么继续改进?工程上哪有什么黑魔法。
    Donduck
        4
    Donduck  
    OP
       2023-04-01 12:50:00 +08:00
    @shansing
    @zed1018
    文章里已经说了,EcoQoS 的 scheduling policy 选自动等于默认情况选 efficient ,那为什么不直接在全局范围内选 efficient 呢?
    ![]( https://i0.hdslb.com/bfs/article/0673b9cb3e12794155ccc6d8dd89360ba317503e.png@1320w_518h.webp)
    文章喷的就是明明选项在全局范围内应用就好了,为什么要做效率模式和 EcoQoS 这种脱裤子放屁的东西。

    还有,大小核对应的是 processor efficiency class1 ( 0 ),并不一定是 performant/efficient processor ,因为英特尔的 thread director 会根据要执行的指令和硬件情况自动确定大小核的哪个是 performant/efficient processor ,大核可以是 efficient processor ,小核可以是 performant processor 。具体的解释可以去英特尔的 developer manual 看,反正英特尔的 heterogeneous scheduling 的实现方案和其他平台是不一样的,没有那么简单。
    zed1018
        5
    zed1018  
       2023-04-01 18:44:34 +08:00
    @Donduck
    > 那为什么不直接在全局范围内选 efficient 呢?

    按照微软过去在兼容性的坚持,很少在全局去默认启动一个之前不存在的东西

    > 为什么要做效率模式和 EcoQoS 这种脱裤子放屁的东西

    我之前里就已经说了,这个东西他是 SetProcessInformation/SetThreadInformation 一个参数值罢了,并不是专门弄给用户去操作的功能,跟你全局设置怎样的并不是重复的功能,一个交给用户选,一个交给开发者去设定。这就像是你手机的通知,你可以去置里关掉这个 app 的通知,开发者也能设置你要不要给你发通知,这是两个维度的事情。

    ---

    我并不是说 EcoQoS 这个东西他就一定好或者怎么滴,但是有这个东西他又没有害处,最终效果也要看后续怎么优化。当然,批判他的宣传目前是没有问题的。
    Donduck
        6
    Donduck  
    OP
       2023-04-01 23:50:28 +08:00
    @zed1018
    > 按照微软过去在兼容性的坚持,很少在全局去默认启动一个之前不存在的东西

    我说的是用户为什么不在全局范围内选 efficient ,thread director 的特性会导致大核可以被识别为 efficient processor ,所以在全局范围内选 efficient 不止是在用小核,不像骁龙那样会用不了大核。微软和英特尔给的默认设置又没明智到哪里去,比 Heterogeneous policy in effect 在 12th 上默认是策略 0 ,但是更灵活的选项是策略 4 。6th 开始有的 hardware duty cycling 默认禁用,导致英特尔开发了这个用来省电 feature 却几乎没人用过。

    > 这是两个维度的事情

    有两个原因:前台进程在日常使用中永远是最耗电的,用任务管理器看看就知道后台进程几乎不使用 CPU ;关键的系统进程无法开效率模式和 EcoQoS 。这导致了所谓的限制后台是在想当然,必须在全局范围内限制才能达到最佳的省电效果。

    > 最终效果也要看后续怎么优化

    没有什么优化,文章已经把这些东西做的事都讲得明明白白了,更别提 AMD 这种肯定是负优化。
    techstay
        7
    techstay  
       2023-04-04 12:08:50 +08:00
    有兄弟在 win11 下用 edge 的没,我最近刚好切换到 edge 浏览器,感觉有点慢。查了一下发现好像不是个例,因为这个任务管理器的效率模式会强制应用到 edge 浏览器上,关都关不掉。搞得我特别膈应,想着要不要重装回 win10
    Donduck
        8
    Donduck  
    OP
       2023-04-04 15:23:18 +08:00
    @techstay

    可是 edge 的效率模式只会对后台标签页开启,根本不影响前台标签页
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1070 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 23:22 PVG 07:22 LAX 15:22 JFK 18:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86