OpenSpeedy-ohjelmasta on luettelossa 20 versiota, ensimmäinen 23. kesäkuuta 2025 ja uusin 3.3.10. Jokainen versio linkittää julkaisijan omiin asennustiedostoihin.
20 versiota 1 vuoden aikana · noin 16 vuodessa
| Versio | Päivämäärä | Koko | Tiedostot |
|---|---|---|---|
| 3.3.10Uusin | 12. syyskuuta 2026 | — | Kaikki suorittimet ZIP MuutoslokiOpenSpeedy 3.3.10
🔍 新增崩溃与启动日志
有用户反馈启动时闪退,但换台机器就复现不了。发布版是无控制台的窗口程序,
崩溃时什么都不会留下。现在应用会把启动过程完整写进日志文件。
- 位置:程序目录下的 logs\,按天分文件,例如 logs\openspeedy.20260912.log;
同一天的多次运行会追加进同一份文件
- 兜底:安装目录不可写时(例如装在 Program Files 下、以普通用户运行),
自动改用 %LOCALAPPDATA%\OpenSpeedy\logs
- 自动清理:保留最近 14 天
- 记录内容:版本号、exe 路径、系统版本与架构、是否以管理员运行、
WebView2 运行时版本、桥接进程启动结果,以及所有 panic(含文件位置与错误码)
- 界面报错也会一并记录,鼠标卡死、白屏之类的问题不再是黑盒
日志有两种打开方式:
- 托盘图标右键 → 「打开日志目录」
- 设置 → 关于 → 「打开日志」(在「复制系统信息」旁边)
🐛 修复托盘菜单首次启动语言不正确
首次运行时(还没有配置文件),托盘菜单可能是英文的,切换语言也不会变。
原因是菜单在启动语言确定之前就构建好了。现在会等语言就绪后再构建。
📋 进程列表改进
- 默认标签页改为「按名称」,A→Z 排序
- 新增眼睛按钮,可显示/隐藏系统进程
(受保护的系统进程读不到内存,会显示为 0,默认隐藏)
- 面板标题在各语言下统一为「进程列表」 |
| 3.3.8 | 4. elokuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki🚀 变速注入模块 — 新 Hook
- WaitForSingleObject / WaitForSingleObjectEx: Hook Windows 等待原语——大量游戏用 WaitForSingleObject(hEvent, 16) 做帧限速而非Sleep,现在能正确加速。
- WaitForMultipleObjects / WaitForMultipleObjectsEx: 多对象等待版本,同样 timeout 缩放逻辑。
- 0 和 INFINITE 保持原样:轮询等待和无限等待不缩放,只处理有限 timeout。
- 移除 QueryPerformanceFrequency hook:QPC 和 QPF 同时 hook 导致缩放互消,QPF 实际从未安装,清理死代码。
🎨 界面
- 进程列表:内存列默认降序排列(占用最高的在前)
- 内存和启用列:右对齐
- 速度显示:数字增加斜体,仪表读数风格
- 设置页:瑞士德语合并到德语,只保留一个 Deutsch
- Product Hunt 徽章:添加到 README
📖 文档
- README 默认展示英文——国际访问者第一印象更好
- LICENSE 文件:添加完整 GPL v3 协议
- 全部 12 种语言 README 的 License 段落链接到 LICENSE 文件 |
| 3.3.7 | 26. heinäkuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki🎨 界面
- 设置页面改版:速度升降、变速档位、通用设置三个区块标题改用分割线+文案方式,不再嵌入表格表头
- 关于页面:新增"社交链接"分割线,区分复制信息按钮和社交图标,支持 i18n
- 复制软件信息:关于页面新增按钮,一键复制应用/平台版本 JSON 信息,方便提交问题报告
🔧 Bridge 注入模块
- 命名规范化:Detour* 函数统一重命名为 Hook_*,real* 函数指针统一为 Real_*
- 变量重命名:基准/快照变量从 baselineKernel* 系列改为 baseReal_* / lastReal_* / baseHook_* / lastHook_*,语义更清晰
- 移除 C++ 标准库依赖:std::wstring 替换为栈上 WCHAR 缓冲区,移除 <sstream>、<string> 头文件,注入 DLL 零 CRT 堆分配
- 代码风格:函数定义和调用统一单行,typedef 移到各自函数指针前面
🌐 国际化
- 12 种语言新增 about.socialLinks、about.copyInfo、about.copyInfoSuccess、about.copyInfoError
- 12 种语言更新 settings.speedShortcuts 和 settings.gears 术语
🐛 修复
- 修复 SnackbarProvider context 未包裹的错误
- 修复 TableCell 中无效的 align: "center" → textAlign: "center" |
| 3.3.6 | 21. heinäkuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki修复
- 闪现窗口:由于获取显卡信息失败,导致不断闪现窗口。改为运行命令时设置 CREATE_NO_WINDOW 标志来禁止展现窗口
- nvidia-smi 节能模式超时阻塞:GPU 深度睡眠时 nvidia-smi 可能卡住数秒,阻塞 tokio 线程。改为 spawn + channel + recv_timeout,1 秒超时后标记不可用,后续不再重试
新增
- 主题持久化:新增 theme 设置项("light" / "dark"),关闭应用后保持主题选择
- 进程表内存列:PID 模式下新增内存列,支持 GB/MB/KB 格式化显示
- 列排序:所有列标题可点击排序(PID/名称/内存/加速状态),PID 模式默认按加速状态降序排列,已加速进程置顶
- README 徽章更新:新增 star-history 排名徽章(自动适配暗色/亮色模式),更新底部图表链接,新增巴西葡萄牙语 README,更新 zh-TW 翻译 |
| 3.3.5 | 17. heinäkuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki🐛修复
- 恢复原速时小概率卡死:修复 speedpatch 中 5 个时间 detour 函数 (DetourTimeGetTime / DetourGetMessageTime / DetourGetTickCount / DetourGetTickCount64 / DetourQueryPerformanceCounter) 的 baseline/prevcall 数据竞争。速度倍率改变时 baseline 重校准写入与其他线程并发读取之间无 happens-before 保证,32 位进程可能读到 8 字节撕裂值导致时间倒退死等。全部改为 std::atomic
- 命名管道持久连接复用:Bridge 客户端改为单例持久管道连接,缓存的 HANDLE 跨命令复用,断开自动重连。解决之前每次命令执行后管道释放导致重新加速有概率不生效的问题
- 编译器警告修复:消除 unused_must_use 和 unused_import 警告
✨新增
- 快捷键注册状态显示:设置界面中快捷键注册失败时以红色冲突样式提示(shortcutStatus),利用 useSyncExternalStore 细粒度订阅,仅在对应快捷键状态变化时触发重渲染
- React 状态管理升级:useShortcut / useSettings 从模块级事件总线改为 useSyncExternalStore,获得 React 19 并发模式撕裂防护;useSettingsValue 从回调式 API 改为声明式返回值 |
| 3.3.4 | 16. heinäkuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki🐛 修复
- 按住变速倍率更新失效 — 修改按住变速的倍率后,按键回调改为动态读取 holdSpeed,不再捕获注册时的旧值 |
| 3.3.3 | 14. heinäkuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki⚡ 性能
- 移除 speedpatch DLL 中所有热路径的 shared_lock — factor 和 SystemTime 变量已是 std::atomic,shouldUpdate* CAS 已保证基线更新的互斥,不再需要额外的读写锁
✨ 新增
- 速度对数映射 — 滑块改用 log₁₀ 刻度(0.001× ~ 1000×),1× 附近调节更精细,两端范围更宽 |
| 3.3.2 | 11. heinäkuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki✨ 新增
- 进程名模式(Name Tab) — 进程列表新增 PID / 名称两种加速模式
- PID 模式:按进程 PID 独立加速(原有功能)
- 名称模式:按进程名分组,一键开关同名所有进程
- 进程名记忆 — 通过名称模式加速的进程名会自动保存,下次启动时自动注入
- 定时检测(5 秒),新启动的已保存进程自动加速
🏗️ 重构
- ProcessTable 组件内聚 Tabs,不再需要独立组件
- useInterval 替代 useEffect 实现定时自动注入
- 新增 src/store/process.ts 持久化加速进程名 |
| 3.3.1 | 9. heinäkuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki🐛 修复
- 首次注册按住变速快捷键无法生效 |
| 3.2.2 | 25. kesäkuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki🐛 修复
- 注入状态查询: 新增 Bridge STATUS 命令,通过枚举目标进程已加载模块判断是否注入,结合 SP_IsEnabledById 获取真实启用状态,解决管理员权限进程误报"已注入"
- ENABLE 幂等化: 重复启用已启用的进程不再返回错误,do_enable 先检查 SP_IsEnabledById,已启用则直接返回 OK
- Toggle 乐观更新: 开关操作即时响应 UI,后端调用失败后自动回滚并弹出 Snackbar 错误提示
🔧 改进
- Bridge pipe 通信添加调试日志,方便排查问题
- Snackbar 通知位置调整为顶部居中 |
| 3.2.1 | 24. kesäkuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki🔧 修复与改进
- 修复注入状态误报: 管理员权限进程无法注入时不再显示"已注入",状态判断改为 Bridge 实时查询(模块枚举 + SP_IsEnabledById)
- Toggle 乐观更新: 开关操作即时响应,后端调用失败后自动回滚并弹出错误提示
- Snackbar 位置: 通知提示移至顶部居中
- Bridge STATUS 命令: 新增 STATUS {pid} 命令,通过枚举目标进程已加载模块判断是否注入,结合 SP_IsEnabledById 判断启用状态 |
| 3.1.1 | 21. kesäkuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki修复
- 快捷键回调控件闭包 — get() 动态读取缓存,切换档位/步长后立即生效
- init() 初始化缓存 — getAll() 确保快捷键回调能读到真实保存值
重构
- useSettings 精简 — 直接返回响应式 settings,各组件自行管理状态
- useSettingsValue / useSpeed — 封装响应式配置订阅和速度管理
- emit + subscribe — set() 自动通知所有订阅者,跨组件状态同步 |
| 3.1.0 | 21. kesäkuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki新增
1. GPU 显存监控 — TitleBar 显示 GPU 型号及显存使用率环形图
2. 单实例保护 — 同一时间只允许运行一个 OpenSpeedy 实例
3. Bridge 失败提示 — bridge64/bridge32 启动失败时弹出错误通知,提示检查文件是否在同一目录
改进
1. 窗口按钮保护 — 缩放窗口时窗口按钮始终可见,不会因宽度不足被隐藏
2. 系统状态自适应 — 窗口宽度 < 720px 时自动隐藏 CPU/RAM/GPU 统计
3. 编译文档简化 — 移除旧 wiki 链接,替换为 npm run tauri dev 前置要求说明
4. CI 签名拆分 — build / sign-msi / sign-portable 三个独立 job,签名失败可单独重试
5. TitleBar 最小化按钮换为 — 符号 |
| 3.0.0 | 20. kesäkuuta 2026 | — | Kaikki suorittimet ZIP MuutoslokiOpenSpeedy 3.0.0 发布!
- 🏗️ 重大重构: UI 底层架构迁移:Qt → Tauri, 整个前端框架从 Qt 迁移到 Tauri
- ✨ 现代化界面风格:全新的 UI 设计,简洁直观,操作体验全面升级。
- 🌍国际化语言支持,新增 5 种语言:🇺🇸 English、🇩🇪 Deutsch(德语)、🇫🇷 Français(法语)、🇯🇵 日本語、🇰🇷 한국어
- ☀️简易开发流程:基于 Tauri + Rust + TypeScript 技术栈,开发环境搭建更简单,构建流程更高效。 |
| 1.7.9 | 2. tammikuuta 2026 | — | Kaikki suorittimet ZIP Muutosloki- 修复:菜单栏显示当前选择语言不正确的问题
- 新增:中国大陆已上架Microsoft store,目前国内用户可以从微软商店下载
- 新增:MSI安装包
PixPin_2026-01-02_18-19-37 |
| 1.7.8 | 21. joulukuuta 2025 | — | Kaikki suorittimet ZIP Muutosloki- 修复:托盘菜单项翻译
- 新增:深色主题颜色
- 优化:快捷键加速时的声音延迟问题
深色主题预览
PixPin_2025-12-21_17-49-13 |
| 1.7.7 | 8. marraskuuta 2025 | — | Kaikki suorittimet ZIP Muutosloki- 修复: 由于项目修改名称,导致的签名失败问题
- 修复:解决屏幕缩放窗口显示过大的问题:#172
- 调整:安装脚本的程序名称
- 调整: 项目名称简化 OpenSpeedy -> Speedy
- 调整: 设置项目issue模板,要求填写系统版本,软件版本,同时提示不支持网游,网盘类的issue
- 调整: 项目Logo重新设计
- 功̶能̶追̶加̶:̶点̶击̶原̶速̶标̶签̶恢̶复̶原̶速̶倍̶率̶ #178
- 功能追加:增加程序没找到bridge桥接程序的错误提示
- 代码优化:优化代码注释方便阅读
- 追查:CPU占用率变高的原因
- 文档优化:完善开发者文档的环境部署
- 文档优化:补充注入原理图,Hook图,工程架构图 |
| 1.7.6 | 13. heinäkuuta 2025 | — | Kaikki suorittimet ZIP Muutosloki- 繁体翻译优化 #147
- s̶i̶g̶n̶p̶a̶t̶h̶签̶名̶
- wiki更新:不支持游戏名单:安卓模拟器
- 修复:python time.sleep不生效的问题 #152 |
| 1.7.5 | 30. kesäkuuta 2025 | — | Kaikki suorittimet ZIP Muutosloki新增
- 进程名称不区分大小写排序 #126
- 添加对GetMessageTime、timeSetEvent的函数的HOOK
- 将SetProcessStatus设置的共享内存以PID粒度区分
- 添̶加̶进̶程̶注̶入̶是̶否̶成̶功̶的̶提̶示̶
- 添加HelloGithub徽章展示
- 添加Wiki:加速问题排查步骤、垂直同步、管理员进程权限
- winget方式安装
- 修复多显示器,窗口出现在显示器区域外的问题 |
| 1.7.4 | 23. kesäkuuta 2025 | — | 64-bittinen ZIP |