Monosnap 捕获时冻结?
这里’是修复方法。
如果您按下了 Ctrl+Alt+5 但叠加层从未出现,或者出现后就卡住了,本页面将详细解释发生这种情况的原因以及实际的修复方法 — 而不是另一个权宜之计。
- 按下了热键,3–8 秒内没有任何反应
- 变暗的叠加层出现,但您无法’无法拖动选择区域
- 选择完成后,编辑器从未打开
- 编辑器打开,但标注工具无响应
- 任务管理器显示 Monosnap 占用 400+ MB 内存且持续增长
为何会卡顿
两个根本原因共同作用。首先是 Monosnap 的 Electron 外壳。每次您调用截图叠加层时,Chromium 都必须以其原生分辨率在每个显示器上绘制变暗的背景,然后为选择拖动安装事件监听器。在单个 1080p 显示器上这很快;在具有混合 DPI 缩放的四显示器设置上,这会很明显;在 性能下降的 进程(见下文)上,就会出现卡顿。
第二个原因是渐进式内存泄漏。使用几个小时后,Monosnap 的进程会累积数百 MB 的保留图像缓冲区。当您按下 hotkey 时,操作系统必须处理这个庞大的工作集,仅仅是为了为新的截图分配空间。在拥有 8 或 16 GB RAM 的机器上,这可能会触发页面错误级联——操作系统不断地将内存换入换出以腾出空间,并在工作时锁定应用程序。
不起作用的变通方法’不真正起作用
- 定期重启 Monosnap。 重置了 RAM 基线,但泄漏会立即重新开始。
- 禁用多显示器截图。 减少了叠加层绘制成本,但您失去了跨显示器截图的能力。
- 降低 hotkey 使用频率。 这并非真正的解决方案——您只是减少了工具的使用。
- 将进程优先级设置为高。 有时会短暂有所帮助,但无法解决泄漏问题。
有效的解决方案
Maxisnap 专为消除截图时卡顿的行为而构建。它不基于 Electron。没有 Chromium 渲染器,没有嵌入式浏览器,也没有渐进式内存累积。截图叠加层是一个原生的 Qt 小部件,可在单个帧中绘制。多显示器功能是原生处理的——叠加层同时跨越每个显示器,无需为每个显示器重新初始化。在合理的硬件上,从截图到编辑器的延迟低于 200 ms,并且全天保持不变。
它使用与 Monosnap 完全相同的默认 hotkey: Ctrl+Alt+5 区域截图, Ctrl+Alt+6 全屏截图, Ctrl+Alt+7 区域截图并上传。
立即替换 Monosnap
卡顿问题
在卡顿期间丢失的截图还能恢复吗?
通常不能——如果编辑器从未打开,捕获的图像就从未写入磁盘。Maxisnap 的一项小改进是,在编辑器渲染之前,捕获的图像会先序列化到临时文件,因此即使发生意外崩溃也不会丢失图像。
我同时使用 Monosnap 和 OBS。Maxisnap 会与 OBS 冲突吗?
不会。Maxisnap 不会介入捕获流或视频驱动。它使用标准的 Win32 捕获 API,可与 OBS、Discord、Teams 以及其他使用桌面复制 API 的应用程序共存。
Maxisnap 适用于远程桌面会话吗?
是的。RDP 和 Parsec 会话可以正确捕获。叠加层会覆盖远程主机提供的虚拟显示器,并且上传照常通过您的本地网络进行。