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

查看 10|回复 0
作者:Donduck   
为了解决低频下输入不够流畅的问题,我写了这个脚本用于在有键盘/鼠标按键/触控板输入的时候自动切换性能:
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 名字和标题,这样可以针对不同软件和网页做优化。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部