各位佬好,分享一下自己做的开源截图软件 Snow Shot
之前花了一年做了第一版,这次又花了一年,把它从头重写了一遍
老版本基于 Tauri ,平时挂在后台就要占五六百 MB……确实有点夸张
所以这次重写,最先想解决的就是内存占用
先放一个新版的实测结果:初始状态下,初始状态下,私有工作集内存约 9.7 MiB,完整数据和测量条件放在下面
原来的界面风格保留了下来(从 Web 组件库一步一步迁到 Qt ,挺不容易的……),截图响应、选区动画和标注绘制都彻底重做了
主要是 Qt Widgets 、Rust
在同一台运行 Windows 26H2 的电脑上,用 VMMap 记录了三个软件主进程的内存
测试使用单台 4K 显示器,捕获区域略小于 3840 × 2160
每个软件分别记录初始状态、通过托盘触发截图 10 次后,以及截图并贴图 10 次后的数据
以下均为单次快照,单位为 MiB
私有提交内存、总工作集和私有工作集分别列出,前面提到的 9.7 MiB 对应最后一列
| 软件 | 测量状态 | 私有提交内存( Private Bytes ) | 总工作集(驻留 RAM ) | 私有工作集 |
|---|---|---|---|---|
| Snow Shot | 初始状态 | 15.45 | 46.17 | 9.68 |
| Snow Shot | 截图 10 次后 | 22.39 | 62.84 | 16.11 |
| Snow Shot | 截图贴图 10 次后 | 32.03 | 81.43 | 24.33 |
| Snipaste | 初始状态 | 33.53 | 76.45 | 26.00 |
| Snipaste | 截图 10 次后 | 34.29 | 83.24 | 26.75 |
| Snipaste | 截图贴图 10 次后 | 102.54 | 152.66 | 94.96 |
| 某 P | 初始状态 | 70.23 | 91.09 | 32.67 |
| 某 P | 截图 10 次后 | 136.06 | 127.80 | 65.99 |
| 某 P | 截图贴图 10 次后(重启后)* | 180.01 | 177.11 | 106.43 |
绘制上主要加了局部重绘和缓存:尽量只更新变化的区域,减少重复计算和绘制,选区过渡动画、拖动和标注响应也重新调整过
笔记本上的功耗也有考虑,这次采用了软件渲染,减少不必要的刷新
录屏则在支持的设备上使用 GPU 处理和硬件编码
之前因为卡顿或者占内存卸载过的佬,欢迎回来再试试
截图和标注
文字和表格识别
屏幕录制
用 HDR 显示器的佬可能遇到过:屏幕上看着正常,截出来却发白、过曝,发图之前还得先去关 HDR
这次重新做了截图和录屏的 HDR 处理,尽量减少过曝、发白的问题,下面放两张开启 HDR 时的截图作对比:
Snipaste HDR 截图 Snow Shot HDR 截图
Snow Shot 支持 MCP ,可以接入支持 MCP 的 AI 客户端,也可以自己写程序调用,接口包括:
比如把“截图 → 标出重点 → 保存”串起来,或者批量打开图片、提取文字、导出结果
如果只是想截个图、画个箭头,上面不少功能确实用不上,所以这次还做了 Snow Shot Mini
Mini 和完整版共用同一套底层,保留截图、标注、贴图、录屏这些日常功能,精简了表格识别、翻译、图片转文档等扩展能力
OCR 入口默认隐藏,需要时可以在设置里开启手动 OCR ,相关模型按需下载
两版可以按使用需求选:
| 使用需求 | 版本 |
|---|---|
| 经常提取表格、翻译、把图片转成文档 | Snow Shot |
| 主要截图、标注、贴图,偶尔录屏或提取文字 | Snow Shot Mini |
Snow Shot 和 Mini 的软件功能都免费,源码也公开,下面整理了和 Snipaste 、某 P 在授权和平台支持上的区别:
| 对比项 | Snow Shot / Snow Shot Mini | Snipaste | 某 P |
|---|---|---|---|
| 开源状态 | 开源,应用采用 GPL-3.0-or-later,可查看、修改和编译源码 | 闭源,按官方许可协议授权使用 | 闭源,按官方服务协议授权使用 |
| 免费范围 | 各版本提供的软件功能均免费,无需会员解锁; Mini 按使用需求精简功能 | 基础功能可免费用于个人用途;部分进阶功能需购买 PRO | 大部分功能免费;表格识别、录屏键鼠显示、录制后剪辑等需会员 |
| 公司 / 商业场景使用 | 无需购买软件使用授权 | 2.x 需购买 PRO ; 1.x 可免费用于个人和商业场景 | 免费版也可在公司内使用 |
| 桌面平台支持 | Windows 、macOS(均支持 Arm64 和 x64 ) | Windows 、macOS 、Linux | Windows 、macOS |
这次重写用到了 Qt 、Rust 、RapidOCR 、FFmpeg 等开源项目,感谢这些项目的维护者,也欢迎大家给 Snow Shot 提 issue 或参与开发
官网:snowshot.top
下载:GitHub Releases
源码:GitHub
重写后的 Snow Shot 在默认配置下会比旧版的识别更慢,可以开启“常驻识别进程”和“模型热启动”以加快 OCR 识别速度。如果是独立显卡的话,还可以尝试开启“DirectML 加速”开启硬件加速。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.