Skip to content

UI升级、∫积分算法优化、体验提升(冻结窗格)等

Choose a tag to compare

@ucxn ucxn released this 06 Jun 15:42
· 8 commits to main since this release
Immutable release. Only release title and notes can be modified.
45dea81

『更新日志』

  1. 引入「看板冻结」功能

    在全局看板的左上角新增了一个 📌 图钉按钮。点击后,看板会利用 position: sticky 吸附于视口顶部。现在,即使在超长设备列表中,也能随时参照全局统计数据,无需再往返滚动。

该功能采用纯 DOM 状态切换,0 废变量开销。

  1. “0 漏水估算”机制透明化(Nerd 面板)
    为解决设备休眠/网络瞬断后的积分漂移,脚本内置了一套补偿估算机制。为消除算法“黑盒”,现将这部分估算出的流量与触发次数,在看板右上角实时透传。这部分数据为Geek专属,便于在极限网络环境下对积分的准确性进行审计与追溯。让微积分引擎的运行轨迹完全可见。

  2. 渲染层引入 O(1) 级 DOM 节点微缓存
    renderUI 的高频循环中,为每个设备节点开辟了私有的 _gege 储物柜。首帧渲染后,所有相关的子节点(如进度条、文本框)都会被缓存,后续刷新直接通过对象属性读取,消灭了大量的 querySelector 性能开销。

  3. 压榨 V8 引擎底层的数学与类型转换性能

  • 将底层大循环中的高频除法全部替换为浮点乘法(例如把 / 2000 改为 * 0.0005)。
  • 将部分字符串转数字的操作,从 parseFloat 替换为一元正号 + 的隐式类型转换,进一步节省 CPU 指令周期。
  1. 消除闭包导致的内存GC尖刺
    将四段式“内外网比”的核心决策逻辑(calcStageRatio)从渲染循环内部提升至全局作用域,转为静态纯函数。避免了每次触发重绘时,JS 引擎都要在内存中重新分配和销毁该函数的开销。

  2. 视觉排版与单位细节微调

  • 设备的渲染分类顺序重新编排为:有线设备 -> 5.2GHz -> 5.8GHz -> 2.4GHz。
  • 修复了双轨制流量在突破 10GiB 阈值时可能导致的 flex 容器宽度抖动。