Repository navigation
Releases: Real-king-Ph/taskbardynamic
Releases · Real-king-Ph/taskbardynamic
Release list
v1.2.3
v1.2.3
新增
- 新增 PrimoCache 专用悬浮提示:显示总读取速度、未中率和状态;不可用时显示具体原因。
- 悬浮提示查询会维持 PrimoCache 惰性采样,不在 UI 线程调用
rxpcc。 - 修正命中率窗口和发布状态文档,明确当前实现按最近 6 次成功采样滚动。
验证
- Debug/Release × x64/x86:0 warning / 0 error。
- Release x64 MSVC
/analyze:0 告警。 - x64 附件 SHA256:
A2CAB605E803E0A6FB0E8D9FB1B2D34354B16CA07E7C1296140E8CF65D633DEB - x86 附件 SHA256:
22EF931ED1F16C6AB8F987B1B243AC6F3827635D678DD823A038838BF4C80644
v1.2.2
v1.2.2
本版本集中修复 PrimoCache 采样就绪状态、外部命令解析健壮性与绘图窗口时钟问题。
缺陷修复
- 修复启动或恢复显示后速率尚未就绪时仍可能显示
0.00B/s或空闲前旧值的问题;首个采样间隔现在显示--,完成两次采样后恢复数值。 - 修复
rxpcc输出中非法或缺失的Total Read/Cached Read仍可能被当成有效零值的问题;两个字段必须完整且可解析。 - 为单个累计计数及多卷累加增加
uint64_t溢出检查,异常输出会直接令本次采样失败。 - 绘图滑动窗口改用
std::chrono::steady_clock单调时钟,避免系统时间大幅调整影响历史极值。 - 修正
DynamicInfo中lable_的拼写为label_。
验证
- Debug/Release × x64/x86 全部
0 warning / 0 error。 - MSVC
/analyze无告警。 - 解析器定向测试 15/15 通过。
v1.2.1 TrafficMonitor插件
v1.2.1 更新内容
本版本是 PrimoCache 显示项的功能改进与缺陷修复。
改进:命中率平滑
- 命中率由「单个 5 秒区间的比值」改为「最近 30 秒窗口内的累计比值」,读取量很少时不再在 0% / 100% 之间跳变;
- 只有整个 30 秒窗口内都没有读取时才显示
--(命中率没有分母),恢复读取后自动给出数值。
缺陷修复
- 修复恢复显示后“多睡一次”导致首次数值要等约 10 秒的问题(现在约 5 秒);
- 修复数字解析遇到千位分隔符被截断的问题(
210,726,629,888曾被解析成210); - 命中率增加
0 ~ 100钳位,避免计数错位时超过 100%; - 采样超时判断改用
GetTickCount64(),去掉 49 天溢出隐患; - 速率换算增加钳位(上限 1 TB/s)并处理
dt <= 0 / NaN,避免 double→uint64 转换溢出(未定义行为); rxpcc.exe路径改为构造时一次性解析,消除潜在数据竞争。
验证
- 4 种配置
0 warning / 0 error;MSVC 静态分析(/analyze)无告警; - 单元测试 15/15(滚动窗口 9 项 + 速率换算 6 项)、解析器边界 7/7;
- 真机回归:冷读时
hit rate0.0% → 热读 9.4% → 21.6% → 40.2%(平滑变化)。
附件说明
| 文件 | 对应版本 | 大小 | SHA256 |
|---|---|---|---|
taskbardynamic-x64.dll |
TrafficMonitor x64(64 位) | 71168 字节 | 03338161e4d25d39ea705469df75dcadd5eb90a5f826096222012aa0b5c92869 |
taskbardynamic-x86.dll |
TrafficMonitor x86(32 位) | 64512 字节 | ff6d7402f6f305995b1abe5a2a6e6919359a53459e4eada0bc461bc3c2d04e90 |
使用说明
- 下载与主程序位数一致的 DLL,放入 TrafficMonitor 程序目录下的
plugins文件夹; - 重启 TrafficMonitor,在「选项 → 显示设置 / 任务栏窗口设置」中自行勾选需要的显示项(默认不勾选);
- PrimoCache 显示项需要以管理员身份运行 TrafficMonitor,否则不会注册。
⚠️ 从旧版本升级:若plugins里还留着旧的taskbardynamic.dll,请先删除,避免新旧 DLL 同时加载。
提示:显示项标签由主程序缓存在config.ini的[plugin_display_str_*]段,改标签需要同时修改那里对应的行。
代码
v1.2 TrafficMonitor插件
v1.2 更新内容
本版本新增 PrimoCache 集成:可直接在任务栏 / 悬浮窗上查看磁盘缓存的命中情况。
新增显示项(默认不勾选)
| 名称 | ID | 标签 | 含义 |
|---|---|---|---|
| primocache hit read speed | PC_HIT_SPD |
命中: |
由缓存(L1 内存 / L2 SSD)服务的那部分读取 |
| primocache miss read speed | PC_MISS_SPD |
未中: |
回落到物理磁盘的那部分读取 |
| primocache hit rate | PC_HIT_RATE |
命中率: |
最近 5 秒区间的读命中率 |
实现要点
- 通过 PrimoCache 自带的命令行工具
rxpcc perf读取累计计数,两次采样求差得到速率(5 秒窗口) - 后台线程采样,UI 线程只读快照,不阻塞主程序
- 惰性采样:仅当显示项被主程序绘制时才采样;连续 30 秒没有任何显示项被绘制则完全停止采样(零开销)
- 容错:单次采样失败沿用上一次的数值;连续 2 次以上失败才显示
--;区间内没有读取时命中率显示-- - 可用性门控:未以管理员身份运行、或未安装 PrimoCache 时,这些显示项不会出现在显示项列表中
安装
- 下载与主程序位数一致的 DLL(x64 / x86)
- 放入 TrafficMonitor 程序目录下的
plugins文件夹 - 重启 TrafficMonitor,在「选项 → 显示设置 / 任务栏窗口设置」中自行勾选需要的显示项(默认不勾选)
⚠️ 从旧版本升级:若plugins目录里还留着旧文件名的taskbardynamic.dll,请先删除它,否则新旧两个 DLL 会同时被加载、显示项重复。
提示:显示项标签由主程序缓存在config.ini的[plugin_display_str_*]段;若要改标签,需要同时修改那里对应的行。
PrimoCache 显示项需要以管理员身份运行 TrafficMonitor(rxpcc.exe需要管理员权限),否则不会注册。
附件说明
| 文件 | 对应版本 | 大小 | SHA256 |
|---|---|---|---|
taskbardynamic-x64.dll |
TrafficMonitor x64(64 位) | 71680 字节 | 5c8ca5bc295c6885130f99f0d253e6d06944877069b2814ba706ff8531efcf85 |
taskbardynamic-x86.dll |
TrafficMonitor x86(32 位) | 65536 字节 | d1f723636d5cab2cac24755fb698b58ad23e1a6a9e57207b0fa00c3721785c77 |
代码
v1.1 TrafficMonitor插件
v1.1 更新内容
本版本重构了核心逻辑并修复多处缺陷,建议升级。
缺陷修复
- 修复窗口内数值恒定(
max == min)时0/0产生 NaN,导致资源占用图异常的问题 - 修复网速文本被截断成畸形字符串(如
999.KB/s、1023.KB/s)的问题 - 修复极值淘汰顺序错误,导致过期极值在窗口中多残留若干采样周期的问题
- 修复首次采样残留 0 时刻伪极值,导致窗口最小值长期为 0 的问题
改进
- 时间间隔改用 FILETIME 刻度精确计算,去除“每月按 30 天”的近似,跨月/跨年不再漂移
- 绘图值钳位到
[0, 1],当前值超出窗口极值时也不会溢出 - 单位换算统一为 1024 进制,并按数量级自动切换
B/s、KB/s、MB/s、GB/s - 显示项注册改为
AddItem模板方法,新增显示项只需改 config - 补齐
override,消除 C4244 编译警告;GetInfo(TMI_MAX)不再返回无意义字符串 - 工程配置:x86 补齐 C++17 标准,四种配置统一开启
/MP;源码统一为 UTF-8 with BOM
附件说明
请选择与你的 TrafficMonitor 位数一致的 DLL。
| 文件 | 对应版本 | 大小 | SHA256 |
|---|---|---|---|
taskbardynamic-x64.dll |
TrafficMonitor x64(64 位) | 30720 字节 | EFC095724FBB5DF8D8EEE0F673601708F5AE27FAF90445AA4AF9EC40805B742C |
taskbardynamic-x86.dll |
TrafficMonitor x86(32 位) | 26112 字节 | E96FB7858C1AF13E46041318363974A75EBB24279BF72B208CF4D95A1624F540 |
安装
- 下载上面与主程序位数匹配的那一个 DLL
- 放入 TrafficMonitor 程序目录下的
plugins文件夹 - 重启 TrafficMonitor,在「选项 → 显示设置 / 任务栏窗口设置」中勾选需要的显示项
⚠️ 从旧版本升级:若plugins里还留着旧版的taskbardynamic.dll,请先删除它,否则新旧两个 DLL 会同时被加载,显示项会重复。
只放与主程序位数一致的那一个;位数不匹配的 DLL 无法被加载。
提供三个显示项:上传速度、下载速度、CPU 温度(均支持自适应资源占用图)