V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Donduck
V2EX  ›  分享创造

用 AutoHotkey 动态切换 Windows 的电源设置,强化低频下的响应性能

  •  1
     
  •   Donduck · 2 天前 · 678 次点击
    为了解决低频下输入不够流畅的问题,我写了这个脚本用于在有键盘/鼠标按键/触控板输入的时候自动切换性能:
    https://forums.guru3d.com/threads/autohotkey-script-to-enhance-input-responsiveness-under-low-frequency.454267/

    脚本使用 AutoHotKey v1 ,不是 v2 ;
    脚本可以自动枚举当前 Windows 版本支持的 SUB_PROCESSOR 设置,可以用 powercfg /aliasesh 这个命令查看设置的 alias 并照着已有的范例修改脚本;
    需要去 GitHub 下载 AHKHID.ahk ,和脚本放在同一个路径,用来得到触控板的 raw input ,检测到两个手指就会提升性能,因为双指滚动和双指缩放是触控板最常用的功能,3/4 指点击和滑动触发的东西可以被 hotkey 和 shell hook 检测到,所以只需要检测双指;
    脚本使用了 RegisterShellHookWindow 为全部 shell hook 事件提供性能提升,虽然微软说这个 API 以后有可能被修改或者不能用,但是有其他 API 挂着这句话十几年了都还能用,所以不担心这个问题;
    脚本使用了 Windows 8 开始有的未公开 API:PowerApplySettingChanges ,以加快运行速度,SkyLake 级别的架构在 0.8GHz 下最多不超过 1.5 毫秒就可以完成一次 index value 写入并且 apply ,反观公开的 API:PowerSetActiveScheme ,它需要检测全部设置是否有更改,所以耗时大概在七八十毫秒;
    脚本可以检测当前窗口的 exe 名字和标题,这样可以针对不同软件和网页做优化。
    1 条回复    2025-01-01 23:09:33 +08:00
    tomclancy
        1
    tomclancy  
       2 天前 via iPhone
    我是通过 PowerShell 监测到目标进程动态切换电源选项
    13900k 平时节能,关闭性能核心,跑沙盒这种就平衡,跑 ps 或者游戏就自动高性能或者卓越性能
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2963 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 09:44 · PVG 17:44 · LAX 01:44 · JFK 04:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.