EnergyStarZ 1.2.0:分层节流后台进程,前台延迟不再被拖

摘要

EnergyStarZ 1.2.0 监听前台窗口切换,给后台进程分三档节流,实测后台 CPU 占用从 100% 降到 3.7%,前台帧延迟收紧,需 24H2 以上。

推荐
软件名称
EnergyStarZ
版本
1.2
收费
免费
开源
开源
操作系统
Windows
更新时间
2026-11-11 23:56

EnergyStarZ 是一款常驻系统托盘的 Windows 能效管理器,做的事说起来很简单:盯着你正在用哪个窗口,把其余后台进程的调度档位往下压,等你切回去时立刻放开。它针对的是笔记本续航和前台卡顿这两件经常被混为一谈的事。当前版本 1.2.0,要求 Windows 11 24H2(build 26100)或更高,用 .NET 10 编写,采用 MIT 许可。

问题不在后台有多忙,而在它挡了谁的路

二十个更新器、索引器和聊天软件同时开着,单独看每个都不算过分,合起来就把帧时间搅乱了。Windows 其实早就备好了底层手段:EcoQoS、优先级类、内存优先级、CPU Set。问题是它们逐个进程、逐个接口地散在那里,没人愿意手工维护一张「哪些该压、压到什么程度、什么时候放开」的表。EnergyStarZ 就是这层策略。

它通过前台窗口切换事件感知你在用什么。事件回调落在有消息循环的 UI 线程上,带跳过自身进程的标志,取到窗口对应的进程后,刚切过去的应用立即解除全部限制,离开的那个随即掉进后台档。这里有个容易被忽略的细节:切换做了 500 毫秒防抖,Alt+Tab 连按几下不会让整台机器的档位反复横跳。

三档,而不是一个开关

最初的版本只有压与不压两种状态,用起来立刻暴露问题:对某些进程,单靠 EcoQoS 几乎没有效果,实测只降到 92%。于是 1.1 版本把单一开关拆成了分层策略。

受保护的那一档永不节流,里面有硬编码的系统进程、用户白名单、当前前台与待切换的应用、最近用过的应用、任何拥有可见顶层窗口的进程、可能正在播放声音的进程,以及全屏演示状态。第一层针对普通后台进程,施加 EcoQoS 执行速度限制、空闲优先级或进程后台模式,再叠一层低内存优先级。进程后台模式这个标志值得单独说:它不只改 CPU 优先级,还会同时压低 I/O 与内存调度,磁盘不会被后台任务反复唤醒。第二层在第一层之上把进程绑定到能效核,只在混合架构 CPU 上生效。

第二层什么时候触发,条件组合得比较谨慎。熄屏、长时间没有键鼠输入、电量低于阈值,都会把档位推上去。还有一条更关键:程序不假设节流一定生效。它每轮用进程周期时间复核那些已被压制的进程,如果连续几次测下来 CPU 还是高,就升到第二层;反过来安静下来就退回第一层。这套测量、决策、再测量的循环,是它敢处理后台转码这类硬骨头的底气。

数据是量出来的,不是承诺出来的

在 16 核机器上制造 CPU 争抢,同时跑 24 个满载后台进程,用进程周期时间测量占用:基线 100%,只开 EcoQoS 降到约 92%,叠上空闲优先级与后台模式降到 28%,再加低内存优先级降到 3.7%,解除限制后回到 100%。

前台这边的数字更说明问题。16 个饱满后台进程加一个 60fps 的前台循环,唤醒延迟 p50 从 16.7 毫秒降到 15.1 毫秒,p99 从 29.2 毫秒降到 16.2 毫秒,最大值从 31.3 毫秒降到 16.3 毫秒。16 毫秒的 p99 意味着稳定 60fps,29 毫秒则大约每八帧掉一帧。与此同时后台进程仍消耗其原有 CPU 时间的 95.6%,活照样干完,只是不再抢道。

1.2.0 补上了内存这一块。低内存优先级本身是被动策略,让内存管理器更早回收;新版本对已经被压制且实测空闲的进程直接调用工作集回收。实测一个空转但常驻 514 MB 的进程,工作集被裁到 0 MB 并保持在那里,页面只有进程真正再次访问时才会换入。判定空闲要连续两次采样低于单核 2%,大约一分钟,避免把还在碰内存的进程反复裁剪、反而增加缺页开销。

它刻意不做的事

它的定位是让路,不是接管:不终止任何进程,不注入 DLL,不打补丁,不改系统电源计划,也不联网。

这类常驻工具最怕越界,EnergyStarZ 的边界划得很清楚。它不终止任何进程,只调整调度属性;不注入 DLL,不打补丁,全部走公开接口;不改系统电源计划;也不联网,没有遥测,没有更新检查。定位是让路,不是那种号称一键提速的优化工具。

1.2.0 还顺手把热路径上的分配压了下来。前台切换时每次都要重算一遍策略,在缓存两三百个进程的情况下,单次计算原本要分配 3824 字节,切换频繁就是持续的垃圾回收压力。改动集中在四处:遍历进程缓存时绕开会复制整个列表的取值方式,改用字典自身的零锁枚举器;白名单换成不可变快照,配置重载时整体替换,读取方不必加锁;进程名查找改走基于字符区间的替代查找,省掉字符串创建;节流参数在初始化时预分配好,之后只传指针。这一轮下来,每次切换的分配降到 88 字节。

够用,但前提是你的系统够新

要求 Windows 11 24H2 不是随便写的。它依赖的能效模式与电源节流接口从 build 26100 起才行为正确,在更早的系统上程序会给出提示后退出,而不是带病运行。这一条把不少还在 22H2、23H2 的机器挡在门外,也是它目前最实际的限制。

另外要摆正预期。它压的是后台进程的调度优先级,不是给前台加速;后台任务在系统繁忙时确实会变慢,这正是换取前台流畅的代价。下载、编译、杀毒这些活儿跑在后台模式里,该慢还是慢。

从 1.1 的分层策略到 1.2 的内存回收与零分配热路径,EnergyStarZ 走的是一条很窄的路:把 Windows 已有的调度能力整理成一套可解释、可回退的策略,再用实测数字证明它确实在做事。它不适合所有人,但对那些后台常年挂着十几个任务、前台又要保持跟手的机器来说,这类工具的价值恰好就在这几档调度参数的差别里。

EnergyStarZ下载地址
支持的操作系统: Windows