解释为什么本地压缩要加超大图保护,以及如何在隐私和性能之间做平衡。
超大图必须先做尺寸保护
当用户直接拖入 10MB 以上的大图时,Canvas 绘制和编码可能在短时间内占用大量主线程资源。
MVP 阶段最稳妥的做法,是在压缩前先对超大图强制缩放,并在界面上明确告诉用户发生了什么。
本地处理不等于可以忽略交互反馈
用户感知里,“处理是否上传到服务器”远没有“页面是不是卡住了”来得直接。
所以状态提示、处理中反馈、结果预览和下载入口,必须和压缩动作一起设计。
图片压缩工具最容易掉进的坑,是为了追求“完全本地处理”而忽略浏览器主线程承受能力,最后用户感觉页面像卡死了一样。
解释为什么本地压缩要加超大图保护,以及如何在隐私和性能之间做平衡。
当用户直接拖入 10MB 以上的大图时,Canvas 绘制和编码可能在短时间内占用大量主线程资源。
MVP 阶段最稳妥的做法,是在压缩前先对超大图强制缩放,并在界面上明确告诉用户发生了什么。
用户感知里,“处理是否上传到服务器”远没有“页面是不是卡住了”来得直接。
所以状态提示、处理中反馈、结果预览和下载入口,必须和压缩动作一起设计。