Microsoft and Adobe team up and make Photoshop 20% faster on Windows
TechSpot Grade 10

Microsoft and Adobe team up and make Photoshop 20% faster on Windows

Thanks to a close collaboration with Adobe, Microsoft engineers have significantly improved performance in certain Photoshop operations. Photoshop is a large, native desktop application written in C++ and compiled with Microsoft's Visual C++ compiler on Windows, which is why Microsoft focused on MSVC in an effort to extract additional performance... Read Entire Article

Compilation Matters: Despite the meteoric rise of generative AI services, traditional image editing tools like Photoshop still dominate the creative industry. So much so that Microsoft – now largely focused on cloud services and AI models – is working hard to find new ways to make Windows-based applications run faster. Thanks to a close collaboration with Adobe, Microsoft engineers have significantly improved performance in certain Photoshop operations. Photoshop is a large, native desktop application written in C++ and compiled with Microsoft's Visual C++ compiler on Windows, which is why Microsoft focused on MSVC in an effort to extract additional performance from one of the world's most widely used image editing applications. Microsoft explained that the collaboration targeted real-world customer scenarios involving CPU-intensive operations. Many complex image processing workloads are now handled – or in some cases "accelerated" – by the GPU. However, some latency-sensitive tasks, such as brush responsiveness, stroke input, and file-opening operations, still depend heavily on a CPU's raw performance. The engineers explored new practical ways to improve Photoshop's performance at compile time. First, they enabled MSVC's "peak-performance" compilation mode, which is designed to produce highly optimized binaries on Windows. They then experimented with profile-guided optimization to further optimize the executables. PGO uses data collected from test runs of .exe and .dll binaries to better reflect real-world usage patterns and improve performance. However, the engineers found that PGO was not an ideal fit for Photoshop's development workflow, as it adds complexity to the build process. After trying – and failing – with PGO, the engineers turned to Sample-based Profile Guided Optimizations as a potential alternative. Unlike traditional PGO, SPGO replaces data collected from "representative" workloads with hardware performance samples gathered from actual release binaries. SPGO is also more flexible in terms of data collection, enabling analysis across a diverse set of test and production machines, and can deliver typical performance gains of around 5% to 15%. Microsoft said SPGO proved to be a better fit for the Photoshop collaboration. Instead of relying on manual tuning, engineers could use compiler feedback – collected with negligible runtime overhead – to improve the code generated during MSVC's final build process. SPGO also proved to be more compatible with Adobe's engineering environment. By combining MSVC's peak-performance mode with SPGO, the teams were able to improve Photoshop performance by 20% on x64 Windows systems and by 13% on Arm. As noted by Adobe senior software developer John Fitzgerald, the optimized builds delivered better responsiveness in drawing and stroke operations, file-opening times, and filter processing. "These are among the most frequently used and latency-sensitive interactions in a professional creative workflow, where responsiveness directly affects a user's ability to work fluidly and iteratively," Fitzgerald said. Microsoft said the collaboration with Adobe provides a meaningful foundation for improving performance in software designed for Windows. The company is now highlighting MSVC's capabilities as a way to improve performance and user experience across its broader software ecosystem.

Comments

No comments yet. Start the discussion.

120.7 ms