惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Forbes - Security
Forbes - Security
WordPress大学
WordPress大学
P
Proofpoint News Feed
T
Threat Research - Cisco Blogs
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
Spread Privacy
Spread Privacy
D
Darknet – Hacking Tools, Hacker News & Cyber Security
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
P
Privacy International News Feed
A
About on SuperTechFans
T
Tailwind CSS Blog
I
InfoQ
S
Securelist
云风的 BLOG
云风的 BLOG
罗磊的独立博客
Recent Announcements
Recent Announcements
T
The Exploit Database - CXSecurity.com
B
Blog RSS Feed
V
Visual Studio Blog
Know Your Adversary
Know Your Adversary
The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
腾讯CDC
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队
AWS News Blog
AWS News Blog
博客园 - 【当耐特】
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
F
Full Disclosure
S
Secure Thoughts
博客园 - 司徒正美
J
Java Code Geeks
Y
Y Combinator Blog
Google Online Security Blog
Google Online Security Blog
GbyAI
GbyAI
N
News and Events Feed by Topic
Help Net Security
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Project Zero
Project Zero
T
Tenable Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tor Project blog
MyScale Blog
MyScale Blog
Scott Helme
Scott Helme
小众软件
小众软件
K
Kaspersky official blog

C++ Team Blog

MSVC Build Tools Preview updates - July 2026 - C++ Team Blog Rethinking C++ Performance: Faster Code Navigation and GitHub Copilot Tools with Whole Codebase Indexing - C++ Team Blog Pure Virtual C++ 2026 [Meet the Speakers, Part 2]: The AI-Native C++ Developer Workflow - C++ Team Blog Pure Virtual C++ 2026 [Meet the Speakers, Part 1]: Build Faster, Run Faster - C++ Team Blog What's New in vcpkg (June 2026) - C++ Team Blog Pure Virtual C++ 2026 Talks Announced - C++ Team Blog Save the Date: Pure Virtual C++ 2026 - C++ Team Blog Streamline C++ Code Intelligence Setup in Copilot CLI - C++ Team Blog GitHub Copilot modernization for C++ is out of preview MSVC Build Tools Preview updates – June 2026 What’s New in vcpkg (May 2026) What’s New for C++ Developers in Visual Studio 2026 (18.1 – 18.6) Introducing Sample Profile Guided Optimization in MSVC NuGet PackageReference for C++ Projects in Visual Studio Segment Heap support for C++ projects in Visual Studio MSVC Build Tools Preview updates – May 2026 MSVC Build Tools version 14.51 (GA) now available Project-Specific Build Optimizations with GitHub Copilot What's New in vcpkg (Apr 2026) - C++ Team Blog Giving Copilot more C++ context using custom instructions in VS Code Take the 2026 ISO C++ Developer Survey! - C++ Team Blog C++ Code Intelligence for GitHub Copilot CLI (Preview) - C++ Team Blog MSVC Build Tools Version 14.51 Release Candidate Now Available C++23 Support in MSVC Build Tools 14.51 What’s New in vcpkg (Feb 2026 – Mar 2026): Parallel file installation and more! Visual Studio at GDC Festival of Gaming 2026 C++ Performance Improvements in MSVC Build Tools v14.51 C++ symbol context and CMake build configuration awareness for GitHub Copilot in VS Code Microsoft C++ (MSVC) Build Tools v14.51 Preview Released: How to Opt In What’s New in vcpkg (Nov 2025 – Jan 2026) MSVC Build Tools Versions 14.30 – 14.43 Now Available in Visual Studio 2026 GitHub Copilot app modernization for C++ is now in Public Preview Visual Studio Code CMake Tools 1.22: Target bookmarks and better CTest output
Boosting Adobe Photoshop’s Performance with MSVC and SPGO - C++ Team Blog
Eric Brumer · 2026-06-17 · via C++ Team Blog

June 16th, 2026

0 reactions

Software Engineering Manager

Boosting Adobe Photoshop’s Performance with MSVC and SPGO

Adobe and Microsoft worked together to improve Photoshop performance and responsiveness on Windows by combining MSVC’s peak-performance build settings with Sample-based Profile-Guided Optimization (SPGO). The collaboration focused on real customer scenarios where latency matters most, including brush and stroke responsiveness, file open times, and other CPU-intensive operations that directly affect creative flow. Adobe’s combined benchmarking showed improvements of 20% on x64 and 13% on ARM64, demonstrating how modern compiler technology can translate into a better experience for creatives using Photoshop on Windows.

Customer Background

Adobe Photoshop is a large native C++ desktop application built with MSVC on Windows and used by creatives around the world. While many image processing workflows rely heavily on the GPU, some of the most user-visible and latency-sensitive experiences still depend on CPU performance. Drawing, painting, file open, and other interactive operations need to feel immediate because even small delays can interrupt the creative process.

That made Photoshop a strong candidate for deeper collaboration with Microsoft on compiler-driven optimization.

A Path to Better Runtime Performance

Adobe and Microsoft began by looking at the practical path to better runtime performance in Photoshop’s Windows builds. A key part of that work was ensuring Photoshop was using MSVC’s peak-performance compilation model, including whole program optimization and link-time code generation (LTCG) with /GL, so that the compiler could optimize across translation unit boundaries. That foundation was important because it established the baseline for meaningful runtime gains.

The teams also revisited traditional instrumentation-based Profile-Guided Optimization (PGO), which had been explored in an earlier collaboration. In practice, that model did not fit Photoshop’s engineering environment well. The instrumented build introduced a non-standard build configuration, increased engineering complexity, and ran slowly enough to trigger operational timeouts, which made the resulting training data unrepresentative of real-world usage.

From Peak-Performance Builds to SPGO

That experience pointed both teams toward Sample-based Profile Guided Optimizations (SPGO) as a practical alternative. Rather than depending on a separate instrumented build, SPGO uses profile data gathered from standard release binaries running representative workloads. This made it a much better fit for Photoshop’s development and release workflow while still enabling the MSVC optimizer to make profile-driven decisions for critical code paths.

This approach gave Adobe a scalable optimization path without requiring broad source rewrites. Instead of depending on ongoing manual tuning, the team could use compiler feedback from real workloads to improve generated code.

The integration work was still meaningful. Photoshop’s engineering system needed to accommodate the build and data-collection flow required for SPGO, as the use of peak-performance build settings may increase build-system demands. But compared with traditional instrumentation-based PGO, the combined LTCG plus SPGO model was much more compatible with Adobe’s production workflow and more sustainable over time.

Results

By combining MSVC’s peak-performance switches with SPGO, Adobe and Microsoft were able to improve performance in Photoshop scenarios through a scalable engineering approach. These gains reflect SPGO on top of fully optimized Windows release binaries.

Platform Improvement
x64 20%
ARM64 13%

“User drawing and stroking operations become more responsive, file open times are reduced, and affected filters complete faster. 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.” – John Fitzgerald, Senior Software Developer, Adobe

Looking Ahead

The collaboration between Adobe and Microsoft created a foundation for continued performance work on Windows. As Photoshop expands the quality and coverage of its profile data, the teams expect additional opportunities to improve optimization quality over time. That matters as creative experiences grow more complex, and expectations for responsiveness keep rising.

“Performance is consistently ranked among the top drivers of customer satisfaction in Photoshop surveys. Following SPGO rollout, we expect these improvements to contribute positively to user satisfaction. Delivering the most responsive, fluid experience possible for Windows users remains a core product priority.” – Markus Mielke, Director of Product Management Adobe

More broadly, this work shows how advanced compiler and optimization technology can help large native applications deliver better real-world performance without forcing teams into unsustainable engineering tradeoffs. For Adobe, Photoshop served as an important proving ground. For Microsoft, the collaboration demonstrated how MSVC and SPGO can help partners translate compiler innovation into visible customer benefit.

Try It Out

Download Visual Studio 2026 and acquire the SPGO tools today! These tools work with the compilers in Visual Studio 2022 and Visual Studio 2026.

More information:

We want to hear from you. Report issues and share suggestions through Help > Send Feedback in Visual Studio, visit Developer Community, or leave a comment below.

Category

Author

Eric Brumer

Software Engineering Manager

Software engineering manager on the Visual C++ compiler back-end team. I lead the machine-independent optimization team, as well as code generation security, including sanitizers.