自动恢复机制 — 程序崩溃后找回来你的工作
崩溃后的救命稻草
任何绘画软件都免不了程序崩溃或电脑断电。Drawpile 2.3.0 之前版本崩溃后——没保存的工作直接丢了。
2.3.0 开始引入自动恢复;2.3.1 用 DPPR 格式重写了这个机制,更可靠。
自动恢复是怎么工作的
Drawpile 在后台定期创建画布快照——默认每 10 分钟一个。快照内容是当时画布的完整状态:所有图层、所有笔触、所有时间轴帧(就是 DPPR 文件里存的快照)。
即使你没主动点保存,快照也会自动存。Drawpile 退出时会清空旧快照,但不正常退出(崩溃、被强制关闭、断电)时这些快照保留下来。
崩溃后怎么恢复
下次打开 Drawpile,启动界面会弹出恢复对话框:
- 列出所有检测到的崩溃会话
- 每个可以看到最近修改的时间戳
- 点 Recover 恢复到那个快照点,或 Discard 放弃恢复
恢复的画布打开后,建议立刻手动保存(Ctrl+S),覆盖可能不完整的恢复状态。
恢复的限制
- 崩溃后最多能恢复到最近一个快照点——快照之间的笔触丢失。比如 10:00 画了一笔、10:10 崩溃(默认间隔)、10:15 恢复 → 能回到 10:00 时的状态,但 10:00-10:10 之间画的丢了
- Android 和 Web 版本默认关闭自动恢复(内存压力原因)
- 自建服务器会话的快照由服务器端维护,和客户端崩溃无关——客户端崩溃重连后,重连到服务器上的完整会话状态(服务器有完整历史)
配置快照行为
Edit → Preferences → General → Canvas Snapshots:
- Snapshot Interval — 快照间隔(分钟)。默认 10,范围 1-60
- Snapshot Count — 保留多少个快照。默认 10,范围 1-100
- Disk Usage Warning — 磁盘占用超过多少时警告
更短间隔 + 更多快照 = 丢失更少但磁盘占用更大。推荐个人绘画设 5 分钟、20 个——丢的笔触不多,磁盘开销也可接受。
多人会话的崩溃恢复
多人会话场景下崩溃恢复分两层:
你自己的客户端崩溃 — 重连 Drawpile,输入 / Host / Join 会话,重连上后:
- 服务器端有完整的操作历史——所以你之前画的内容都在,不会丢
- 但你离线期间别人画的内容会自动同步给你
- 你自己崩溃前最后几笔如果没来得及同步到服务器,可能需要 Force Undo 让别人帮你还原(但这种情况极少)
Host 的服务器端崩溃 — Drawpile 服务器端也会定期快照。服务器重启后,快照内的历史可以恢复。但服务器崩溃本身很少见——官方社区服务器的运维很稳。
日常建议
- 养成主动保存的习惯 — 自动恢复是安全网不是替代品。画到关键节点(比如线稿画完、铺完底色、加完阴影)手动存一次
- 定期清理旧文件 — .dppr 和 .dpcs 文件会越积越多,定期整理不用的旧项目
- 版本更新后重新保存 — 用新版本打开旧文件,另存一次新版本格式,可以享受新的自动恢复逻辑