Skip to content

v2.0.0

Choose a tag to compare

@Loecedas Loecedas released this 03 Aug 07:48
🇨🇳 点击展开中文更新日志 (Chinese)

SnapFind v2.0.0 - 极致内存与体积优化版

此版本在保留本地离线高精度 PaddleOCR 引擎的前提下,完成了极限制冷级内存优化与安装包体积精简,并解决了开机自启同步和多线程并发安全等历史隐患。

💡 新增与优化项

  • 物理内存占用硬控制(最高 40MB 以内):限制了进程的最大物理工作集在 5MB - 40MB。当引擎空闲或 OCR 识别结束的瞬间,会即时进行垃圾回收与工作集释放,物理内存立即回落。
  • 秒级闲置释放(闲置 8 秒):将 OCR 推理引擎的闲置销毁倒计时从 30 秒缩短至 8 秒,闲置状态下后台物理内存自动降至 10MB 以内
  • 安装包体积大幅精简(节省 ~25MB):启用了 Inno Setup 极致 LZMA2 固实压缩算法,将安装包从 95MB 缩减至 70.3MB
  • 免安装压缩包瘦身(节省 ~72MB):自动剔除了 PaddleOCR 依赖包中未使用的默认大模型目录,使免安装 ZIP 体积从 180MB 缩减至 112MB
  • 高频截图并发安全锁:引入了进程内线程锁机制,序列化底层 native 引擎的识别调用,彻底杜绝了高频极速连续截图导致的 native 崩溃问题。
  • OCR 引擎异常自愈机制:若由于环境问题导致引擎初次加载失败,下一次截图时会自动尝试重新加载自愈,而不会永久失效。
  • 卸载零残留:追加了卸载清理区段,卸载时将自动干净地移除运行时产生的整个 cache/ 临时配置目录。

🔧 修复

  • 修复了安装界面勾选“开机自启动”后,安装完成后软件设置界面未能正确读取勾选状态的问题。

🇺🇸 Click to expand English Changelog

SnapFind v2.0.0 - Ultra Memory & Size Optimization

This release introduces significant memory footprint optimizations and installer size reductions while retaining the high-accuracy offline PaddleOCR engine. It also resolves concurrency safety issues and startup preference sync bugs.

💡 Features & Optimizations

  • Strict Memory Limit (< 40MB): Constrained physical working set size to 5MB - 40MB. Triggers aggressive garbage collection and working set trim immediately after OCR completes.
  • Idle Engine Auto-Disposal (8s): Reduced engine idle disposal timeout from 30 seconds to 8 seconds. Background memory drops below 10MB almost instantly.
  • Installer Size Reduction (Saved ~25MB): Enabled LZMA2 ultra solid compression, shrinking the installer size to 70.3MB (down from 95.1MB).
  • Portable Package Cleanup (Saved ~72MB): Excluded unused default models from publish output, reducing the portable ZIP size to 112MB (down from 180MB).
  • Thread-Safe Concurrency Lock: Added synchronizing lock to native OCR calls, preventing native Access Violation crashes during rapid consecutive screenshots.
  • Initialization Self-Healing: Allows the engine to retry loading on subsequent screenshot triggers if the first initialization attempt encountered a failure.
  • Zero-Footprint Uninstall: Configured Inno Setup to automatically clean up the dynamically generated cache/ directory upon uninstallation.

🔧 Bug Fixes

  • Fixed the issue where checking "Auto start on boot" in the installer screen did not synchronize with the setting page checkbox in the application after installation.