Skip to content

MacroHID 2.0.3 测试版

Pre-release
Pre-release

Choose a tag to compare

@NotBadSlime NotBadSlime released this 17 Oct 14:38
· 5 commits to main since this release

MacroHID 2.0.3 测试版

发布日期:2026-10-17。版本号为 2.0.3,Git 标签为 v2.0.3,作为 GitHub 预发布(测试版)提供。对比基线为正式版 v2.0.2,仅列出该版本之后的实际变化。

精度版本

  • 「精度控制」新增「精度版本」下拉:最新(默认)、2.0.2、2.0.x、1.6.0。只影响下一次运行,旧设置文件按「最新」读取。
  • 「最新」:按键时长从发送调用开始时起算,慢的按下调用不再把释放推后;可选 SendInput 耗时补偿(默认开启,仅最新)。
  • 选择「1.6.0」现在会还原 1.6.0 的完整定时方式,不再只是切换原生引擎:
    • 托管播放线程:极限/极致下线程 TimeCritical,进程 High(极致为 RealTime),MMCSS Pro Audio,极致绑到抖动最低的核,运行期间不做垃圾回收;
    • 等待参数回到 1.6.0(最后自旋 250/800/2000µs,极致最后 2ms 纯自旋);
    • 整次播放在核心掩码内运行,极致带掩码时在掩码内重新测核;
    • 每次运行都尝试原生引擎,不依赖预热是否成功;
    • 原生一个按键调用一次 SendInput,选核只看截止迟到,不排除嘈杂核;
    • 条件轮询使用运行的精度与更高优先级。
      这一档占用更高,系统繁忙时可能影响其他程序。不属于定时的功能改动(调用带条件的子宏、子宏内取色等)不随版本切换。

启动延迟与调度

  • 启动时按所选档位预热原生工作线程,并预热真实的原生播放分支:冷启动首次热键中位数约 2ms → 约 0.25ms。
  • 可选「热键启动对齐」:首轮以热键回调时刻加固定提前量为起点,热键到首次 SendInput 的时间变为恒定值。
  • 原生调度器:完成事件复用、提交只唤醒所属线程;相对鼠标移动与按键批次的系统调用更少;组合键等待改用高精度定时器。
  • 测核增加停顿探针,自动避开中断密集的核心;「精度控制 > 系统延迟检查」显示每个核的检查结果(默认开启避开嘈杂核)。
  • 可选用 Raw Input 检测热键(默认仍为低级键盘钩子)。

界面

  • 对话框统一布局与输入校验,主题化消息框;浅色/深色主题色调统一;三种语言字符串补齐。

未验证与已知问题

  • 本版没有用真实按键在游戏中做端到端测量;「1.6.0」档的还原效果只用假输入与进程/线程状态核对过。
  • 托管测试 419 项通过,原生调度回归测试通过。

下载 MacroHID-Setup-x64.exe 或 MacroHID-Portable-x64.zip,需要 .NET 8 Desktop Runtime x64。完整代码对比:v2.0.2...v2.0.3。