Skip to content

MacroHID 2.0 正式版

Choose a tag to compare

@NotBadSlime NotBadSlime released this 14 Oct 07:48
· 33 commits to main since this release

MacroHID 2.0.0 正式版

发布日期:2026-10-14。版本号为 2.0.0,Git 标签为 v2.0.0。对比基线为 GitHub 远端 v1.6.0 / 9d9ad8b,仅列出该版本之后的实际变化。

调度与播放

  • 原生播放采用共享批次调度与预备工作线程,等待和输入提交不再占用整段计划的队列锁;保留批次顺序、键鼠按住时长和组合键保持时间。
  • 单宏均衡档及极密集极限批次使用连续执行路径;预计算组合键边界并复用诊断工作区。间隔较大的极限批次保留两线程救援。
  • 初次准备线程时预配置优先级、MMCSS 和亲和性;空闲阻塞等待时保留配置,减少孤立热键的重复准备。热键专用线程采用 AboveNormal,不提升整个进程至实时优先级。
  • 重整播放控制器的取消、异步释放、关闭与运行状态生命周期;播放使用启动快照,改动宏库不会修改已开始的运行。
  • 复用托管播放工作线程,对子宏及并行分支进行资源管理;改进条件动作准备缓存、重复评估缓存和清理行为。
  • 增加原生队列、首次提交、异常批次等诊断,以及真实热键到独立接收进程的测试工具。实验中尾部退化的两项调度改写已撤回,不包含在本次发行中。

条件识别与编辑器

  • 截图缓冲采用 BGRA 数据视图和租约管理,减少颜色转换、哈希及模板匹配路径的分配与复制。
  • 改善条件监视缓存、动作计划复用和识别取消行为,保留原条件成立和触发语义。
  • 调整动作面板、序列与条件动作显示,改善关联控件的缩放、提示、编辑响应和 JSON 更新。
  • 宏库访问增加同步保护,监听准备及宏调用依赖使用一致快照。
  • 补充带注释 JSON 的使用说明。// 注释读取能力在 1.6.0 已存在,本次不将它算作新增格式能力;可视化保存和导出仍不会保留注释。

YSR 锁帧动作与日志

  • 增加 YSR 开启/恢复帧率动作,兼容旧切换动作。
  • 统一运行日志、异常和锁帧诊断至 %APPDATA%\MacroHID\log,增加“打开日志”入口、异步写入、轮转与保留策略。

性能验证

以下是发布前同一执行实现的本机测量。版本号更新后进行了构建与功能回归,不将这些历史样本称为重新测量。

  • 固定两个核心、五轮、每方案十万事件的单宏极限档假输入对照:最大迟到从 1,230.4µs 降至 893.4µs,合并 P99.9 为 2.7µs。五轮中四轮最大值改善,一轮退化;不能视为稳定最大值保证。
  • 最终执行实现完成 30 次物理 F8 到独立 Win32 接收窗口:中位 3.461ms,最大 8.708ms。30 个物理样本不足估计 P99/P99.9。
  • Win32/WPF 各 2,000 次自动热键实际输入接收,中位分别为 4.336/4.589ms,最大为 10.455/16.680ms。合计 4,030 次最终实现接收均成功,无丢失或重复。
  • 物理测量从低层钩子入口计时,未覆盖机械开关、USB 传输、游戏动作与显示器响应;独立探针未覆盖完整主窗口进程筛选路线。
  • 发行前托管功能回归、原生调度回归及帧时间比较器检查通过;逐项结果见发行验证记录。

以上数据来自一台 Windows 11 / Ryzen 9 7945HX 电脑。极限档持续自旋有明显 CPU 成本;未承诺跨设备表现、游戏帧时间或微秒级端到端。测量方法与更差的探索结果也保留在 实测报告。

打包与兼容性

  • 一键生成安装包、便携包和自带 .NET 运行库的本地版;固定输出到 artifacts/packages 和 artifacts/local-run。
  • 使用独立 staging 目录构建,成功后替换;旧产物保留备份,替换失败尝试回滚。便携包使用可移动的根目录启动脚本。
  • 安装包和便携包均附带最新原生播放 DLL、Windows OCR 组件;发行提供 SHA256SUMS.txt。CI 增加原生回归与帧时间比较器检查,并更新发行文件上传路径。
  • 保留已有宏库及用户配置路径,兼容既有宏格式和锁帧动作别名;未知解帧器版本不自动修改。

下载 MacroHID-Setup-x64.exe 或 MacroHID-Portable-x64.zip。两者需要 .NET 8 Desktop Runtime x64;源码打包生成的本地版自带运行库。安装步骤见 安装说明,构建方法见 打包说明。

完整代码对比:v1.6.0...v2.0.0。

本次发布检查

  • Release 解决方案构建成功,388 项主程序测试通过。
  • 原生调度回归通过,帧时间比较器 3 项测试通过,独立锁帧工具回归通过。
  • 发行文件附带 SHA-256 校验值;原生 DLL 与性能测试版本一致。
  • 本地可执行文件版本为 2.0.0.0,产品版本为 2.0.0。