Skip to content

新增锁定风扇转速预设 - #92

Open
ShuiJu wants to merge 1 commit into
breadeding:masterfrom
ShuiJu:codex/locked-fan-speed-mode
Open

新增锁定风扇转速预设#92
ShuiJu wants to merge 1 commit into
breadeding:masterfrom
ShuiJu:codex/locked-fan-speed-mode

Conversation

@ShuiJu

@ShuiJu ShuiJu commented Aug 2, 2026

Copy link
Copy Markdown

功能说明

本次改动新增了一个独立且互斥的预设工作模式:锁定风扇转速模式

该模式允许用户指定:

  • CPU 功耗墙下限
  • 单一目标风扇转速
  • 目标 CPU 温度

启用后,程序会固定所有受控风扇的目标转速,并根据当前 CPU 温度动态调整 CPU 功耗墙。现有硬件接口会同时设置 PL1 和 PL2,因此 PL2 会始终跟随 PL1。

控制逻辑

进入模式时,以当前预设明确设置的 CPU 功耗作为 PL1/PL2 起点。

在正常温度范围内:

  • CPU 温度高于目标温度 1℃以上时,功耗降低 1W。
  • CPU 温度低于目标温度 1℃以上时,功耗提高 1W。
  • 目标温度 ±1℃范围内不调整,避免功耗墙频繁来回变化。
  • 功耗最低不会低于用户设置的下限。
  • 功耗最高限制为硬件接口支持的 254W。
  • 调整时机跟随现有硬件温度检测周期。

如果当前预设没有设置明确的 CPU 功耗数值,程序将提示用户先设置 CPU 功耗墙。

高温保护

继续沿用现有高温状态判断:

平滑 CPU 温度 > 平台 CPU 温度墙 - 2℃

在锁定风扇转速模式中进入高温状态后:

  1. 如果当前功耗仍高于用户设置的下限,暂时保持风扇转速不变。
  2. CPU 功耗墙按照以下公式快速降低:
降低量 = max(5W, ceil((当前功耗 - 功耗下限) / 2))
  1. 只有功耗已经到达用户下限,并且 CPU 仍然过热时,才触发现有风扇安全保护:
    • 退出锁定风扇转速模式。
    • 切换到降温风扇配置。
    • 将风扇控制切换为自动模式。

预设与设置恢复

“锁定风扇转速模式”作为一个单独的预设加入预设菜单,与其他预设互斥,不会作为附加选项同时作用于其他预设。

进入模式前,程序会保存当前设置的完整快照,包括:

  • 风扇配置与风扇控制
  • CPU、GPU 性能设置
  • CPU 功耗设置
  • 硬件监控设置
  • 其他属于预设的配置

锁定模式运行期间,该快照不会被后续菜单操作覆盖。退出或因过热保护离开模式时,会恢复进入前保存的设置;过热情况下只有降温风扇和自动风扇作为临时安全覆盖,不会改写原预设的持久化内容。

交互方式

  • 在托盘菜单的“预设”中新增“锁定风扇转速模式”。
  • 左键单击:进入该模式。
  • 右键单击:打开配置窗口。
  • 配置窗口可以修改 CPU 功耗下限、目标风扇转速和目标 CPU 温度。
  • 模式运行期间禁用原有的“风扇控制”和“CPU 功率”菜单,避免手动设置与动态控制互相覆盖。
  • 当前动态功耗会同步显示在 CPU 功率滑块和数值标签中。
  • 模式会自动确保 CPU 温度监控处于启用状态。
  • 新模式不会默认加入 OMEN 键预设轮换,但用户可以手动将其加入候选项。

其他改动

  • 增加锁定模式配置的注册表持久化和程序重启恢复。
  • 接入休眠、电源状态恢复和现有 CPU 功耗恢复流程。
  • 修正高温警告文本,使其显示的温度阈值与实际的“温度墙减 2℃”逻辑一致。
  • 为锁定风扇转速模式新增简体中文、繁体中文和英文界面文本,并修正原有高温警告中的温度阈值描述。

验证

  • Debug x64 编译通过。
  • 使用本机可用的 .NET Framework 4.8.1 引用程序集完成编译验证。
  • 未新增编译错误。
  • 编译输出仅包含项目原有的程序集版本冲突和未使用字段警告。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant