【外评】Photoshop 如何处理大于内存大小的文件
内容提要
Adobe与Chrome工程团队合作推出基于Web的Photoshop版本,利用WebAssembly处理大文件。Photoshop实现软件虚拟内存系统解决内存问题。
延伸解读
为何编辑大文件如此耗内存
Photoshop 文件采用无损压缩存储,打开时需解压全部图片数据,导致内存占用远超文件在磁盘上的大小。此外,许多操作是破坏性的,如画笔绘制会产生与原始像素等大的新数据,而长撤消历史要求保留这些数据,使得编辑会话中内存需求可能增长到几百兆字节甚至几千兆字节。
软件虚拟内存如何工作
Photoshop 实现软件虚拟内存系统,将文档数据、撤消历史和工作存储空间统一管理。内存划分为页面,图片数据以图块形式引用。虚拟机创建暂存文件作为磁盘后备,页面释放后空间可复用。处理图像时,虚拟机确保所需图块在内存中,并按需加载或刷新页面,从而突破物理内存限制。
mipmap 与源私有文件系统的角色
Photoshop 使用 mipmap 表示法存储图片数据,以金字塔式图块集提供从低到高的分辨率,便于快速响应缩放和预览。源私有文件系统则提供高性能的磁盘读写,是暂存文件存储的关键,使虚拟机能够高效地在内存和磁盘之间交换数据,支撑大文件编辑。
Q&A
Photoshop如何处理超出内存限制的大文件?
Photoshop通过实现软件虚拟内存系统来管理大文件,允许应用使用比物理内存更多的内存。
Photoshop的虚拟内存系统有什么作用?
虚拟内存系统管理文档数据、撤消历史和工作存储空间,缓存大型数据块以提高处理效率。
Photoshop如何提高大文件的处理效率?
Photoshop使用mipmap表示法存储图片数据,以便在不同分辨率下快速响应。
Photoshop在初始化时如何管理内存?
在初始化时,Photoshop会确定可用的RAM大小,并为虚拟机留出一部分内存。
Photoshop的文件格式如何影响内存需求?
Photoshop文件格式采用无损压缩,读取时需解压缩,导致内存需求大于文件在磁盘上的占用。
Photoshop如何处理撤消历史记录?
Photoshop支持长撤消历史记录,编辑会话会产生大量像素数据,需保留以支持撤消操作。