生成型人工知能サービスの急速な台頭により、プロのワークフローで広く使用されている Adobe Photoshop など、従来の画像処理ツールが依然としてクリエイティブ業界の中核的な位置を占めています。 Windows プラットフォーム上でこの主力アプリケーションの潜在的なパフォーマンスをさらに活用するために、Microsoft と Adobe は綿密な技術協力を開始し、コンパイラー レベルの最適化を通じて多くの主要な操作を大幅に高速化しました。

Photoshop は、C++ で書かれた大規模なネイティブ デスクトップ アプリケーションであり、Microsoft 独自の Visual C++ (MSVC) コンパイラーを使用して Windows 上に構築されます。 Microsoftは、この協力は実際のユーザーシナリオにおけるCPUに大きく依存する操作に焦点を当てていると述べた。目標は、製品の中核機能を変更することなく、コンパイルおよび最適化戦略を調整することで、日常業務においてアプリケーションを「より高速かつスムーズに実行」できるようにすることです。
最新の画像処理ワークフローでは、多くの複雑な画像操作を GPU アクセラレーションによってすでに完了できますが、すべてのタスクが GPU による完全な処理に適しているわけではありません。 Microsoft は、ブラシの応答、ストローク入力、ファイルを開くなど、遅延に非常に敏感な一部の操作は依然として CPU の生の計算能力と実行効率に大きく依存しているため、この最適化作業の焦点となっていると指摘しました。
これを行うために、エンジニアリング チームはまずビルド プロセスで MSVC の「ピークパフォーマンス」コンパイル モードを有効にし、Windows プラットフォーム用に高度に最適化された実行可能ファイルを生成しました。これに基づいて、Microsoft と Adobe のエンジニアは、実際の使用パターンに近づけるためにテスト実行中に .exe と .dll のパフォーマンス データを収集する従来の「プロファイルに基づく最適化」(PGO) の導入を試みました。これにより、コンパイラーがより的を絞った最適化の決定を行うようにガイドされます。
ただし、PGO には Photoshop のような複雑で大規模なプロジェクトでは欠点もあります。 Microsoft は、PGO は利点をもたらす可能性があるものの、構築プロセスが大幅に複雑になり、Photoshop の既存の開発およびリリースのリズムと完全には一致しないことを率直に認めました。コストと利点を評価した後、両当事者は、より柔軟な新しいソリューションであるサンプルベースのプロファイルガイド付き最適化 (SPGO) に移行することを決定しました。
「代表的なワークロード」の専用テストを必要とする従来の PGO とは異なり、SPGO は、実際の環境でリリースされたバージョンからのハードウェア パフォーマンス サンプリング データを活用して、最適化プロセスを推進します。この方法は、データ収集がより柔軟で、さまざまなテスト マシンや運用マシンをカバーできるだけでなく、実行時のオーバーヘッドをほとんど増加させることなくコンパイラにフィードバックできるため、最終ビルド段階でより効率的なマシン コードを生成できます。 Microsoft によれば、SPGO は通常 5% ~ 15% のパフォーマンス向上をもたらし、Adobe との協力により、このテクノロジーは Photoshop のエンジニアリング システムへの統合により適していることが証明されました。
SPGO の適合性を確認した後、Microsoft と Adobe は MSVC のピーク パフォーマンス モードを SPGO と組み合わせて、新しい最適化パイプラインを形成しました。 Microsoft が公開したデータによると、最適化されたビルド バージョンにより、x64 ベースの Windows システムでは全体のパフォーマンスが約 20%、Arm プラットフォームでは約 13% 向上します。これらの改善は、ブラシ描画時の応答速度、ストローク描画の滑らかさ、ファイルを開く時間、フィルターの処理効率など、ユーザーが日常的に最も頻繁に使用する主要な操作に直接影響します。
Adobe のシニア ソフトウェア開発エンジニアである John Fitzgerald 氏は、MSVC と SPGO に基づくこの最適化により、描画やストローク操作、ファイルを開く、フィルター処理などの高頻度のインタラクションの応答性が大幅に向上したと述べています。プロのクリエイティブなワークフローでは、これらの操作は多くの場合、ユーザーが最も依存しており、遅延に最も敏感な部分です。その滑らかさは、クリエイターが一貫性のある反復的な創造的なリズムを維持できるかどうかに直接影響します。
Microsoftは、PhotoshopプロジェクトにおけるAdobeとの協力は、単一アプリケーションのパフォーマンスを微調整するためだけでなく、将来的にWindowsプラットフォーム上の他のソフトウェアを最適化するための重要な技術的参考資料となることを強調した。同社は、ピーク パフォーマンス モードと SPGO テクノロジでの MSVC の機能を実証することで、より多くの開発者が Windows エコシステム用のアプリケーションを構築する際にコンパイラ レベルから潜在的なパフォーマンスを系統的に活用することを促進し、それによってユーザーによりスムーズで効率的なエクスペリエンスを提供できることを期待しています。