
Photoshop 是一款体量宏大年夜、以 C++ 编写的原生桌面应用法度榜样,在 Windows 上依附微软自家的 Visual C++(MSVC)编译器进行构建。 微软方面表示,本次合作聚焦真实用户场景中高度依附 CPU 的操作,目标是在不改变产品核心功能的前提下,经由过程编译和优化策略的调剂,让应用在日常工作中“跑得更快、更流畅”。
在现代图像处理工作流中,很多复杂的图像运算已经可以经由过程 GPU 加快完成,但并非所有义务都合适完全交由 GPU 处理。 微软指出,一些对延迟极为敏感的操作,例如画笔响应、笔触输入以及文件打开等,仍高度依附 CPU 的原始算力和履行效力,是以成为此次优化工作的重点对象。
为此,工程团队起首在构建流程中启用了 MSVC 的“峰值机能”(peak-performance)编译模式,以生成针对 Windows 平台高度优化的可履行文件。 在这一基本上,微软和 Adobe 工程师测验测验引入传统的“机能分析引导优化”(Profile-Guided Optimization,PGO),经由过程在测试运行中收集 .exe 和 .dll 的机能数据,进一步切近真实应用模式,从而指导编译器做出更有针对性的优化决定计划。
Adobe 高等软件开辟工程师 John Fitzgerald 表示,此次基于 MSVC 与 SPGO 的优化,明显改良了画图与笔触操作、文件打开及滤镜处理等高频交互环节的响应性。 在专业创意工作流中,这些操作往往是用户最依附、对延迟最敏感的部分,其流畅度直接影响创作者可否保持连贯、迭代式的创作节拍。
然而,PGO 在 Photoshop 如许的复杂大年夜型项目中也裸露出不足。微软方面坦言,PGO 固然能带来收益,但会明显增长构建流程的复杂度,与 Photoshop 既有的开辟与宣布节拍并不完全契合。 在评估了成本与收益之后,两边决定转向一种更灵活的新筹划:基于采样的机能分析引导优化(Sample-based Profile Guided Optimizations,SPGO)。
微软强调,与 Adobe 在 Photoshop 项目上的合作不仅是针对单一应用的机能微调,更为将来在 Windows 平台上优化其他软件供给了重要的技巧参考。 公司欲望经由过程展示 MSVC 在峰值机能模式和 SPGO 技巧上的才能,推动更多开辟者在为 Windows 生态构建应用时,从编译器层面体系性地发掘机能潜力,从而为用户带来加倍流畅、高效的应用体验。
与传统 PGO 须要对“代表性工作负载”进行专门测试不合,SPGO 应用已宣布版本在真实情况中的硬件机能采样数据来驱动优化过程。 这种方法不仅在数据采集上更具弹性,可以或许覆盖多种测试和临盆机械,还可以在几乎不增长运行时开销的前提下反馈给编译器,从而在最终构建阶段生成更高效的机械码。 微软称,SPGO 平日可以带来约 5% 至 15% 的机能晋升,而在此次与 Adobe 的合作中,这一技巧被证实更合适融入 Photoshop 的工程体系。
在确认 SPGO 的适配性后,微软和 Adobe 将 MSVC 的峰值机能模式与 SPGO 相结合,形成新的优化流水线。 根据微软披露的数据,优化后的构建版本在 x64 架构的 Windows 体系上整体机能晋升约 20%,在 Arm 平台上的机能也进步了约 13%。 这些改进直接感化于用户日常最常接触的关键操作,比如笔刷绘制时的响应速度、笔触绘制的流畅度、文件打开时光以及滤镜处理效力等。

发表评论 取消回复