مع الارتفاع السريع في خدمات الذكاء الاصطناعي التوليدي، لا تزال أدوات معالجة الصور التقليدية تحتل مكانة أساسية في الصناعة الإبداعية، بما في ذلك Adobe Photoshop، الذي يستخدم على نطاق واسع في سير العمل الاحترافي. من أجل الاستفادة بشكل أكبر من إمكانات الأداء لهذا التطبيق الرئيسي على نظام التشغيل Windows، أطلقت Microsoft وAdobe تعاونًا تقنيًا متعمقًا لتسريع عدد من العمليات الرئيسية بشكل كبير من خلال التحسين على مستوى المترجم.

Photoshop هو تطبيق سطح مكتب أصلي كبير مكتوب بلغة C++، ومبني على Windows باستخدام مترجم Visual C++ (MSVC) الخاص بشركة Microsoft. ذكرت Microsoft أن هذا التعاون يركز على العمليات التي تعتمد بشكل كبير على وحدة المعالجة المركزية في سيناريوهات المستخدم الحقيقية. الهدف هو جعل التطبيقات "تعمل بشكل أسرع وأكثر سلاسة" في العمل اليومي من خلال إجراء تعديلات على استراتيجيات التجميع والتحسين دون تغيير الوظائف الأساسية للمنتج.
في سير عمل معالجة الصور الحديثة، يمكن بالفعل إكمال العديد من عمليات الصور المعقدة من خلال تسريع وحدة معالجة الرسومات، ولكن ليست كل المهام مناسبة للمعالجة الكاملة بواسطة وحدة معالجة الرسومات. أشارت Microsoft إلى أن بعض العمليات الحساسة للغاية لزمن الوصول، مثل استجابة الفرشاة، وإدخال السكتة الدماغية، وفتح الملفات، لا تزال تعتمد بشكل كبير على قوة الحوسبة الخام وكفاءة التنفيذ لوحدة المعالجة المركزية، وبالتالي أصبحت محور عمل التحسين هذا.
وللقيام بذلك، قام الفريق الهندسي أولاً بتمكين وضع التجميع "ذروة الأداء" الخاص بـ MSVC في عملية الإنشاء لإنتاج ملف قابل للتنفيذ تم تحسينه بدرجة كبيرة لمنصة Windows. على هذا الأساس، حاول مهندسو Microsoft وAdobe تقديم "التحسين الموجه للملف الشخصي" (PGO) التقليدي، والذي يجمع بيانات أداء .exe و.dll أثناء تشغيل الاختبار للاقتراب من نمط الاستخدام الحقيقي، وبالتالي توجيه المترجم لاتخاذ قرارات تحسين أكثر استهدافًا.
ومع ذلك، لدى PGO أيضًا عيوبها في المشاريع المعقدة واسعة النطاق مثل Photoshop. اعترفت Microsoft بصراحة أنه على الرغم من أن PGO يمكن أن يحقق فوائد، إلا أنه سيزيد بشكل كبير من تعقيد عملية البناء ولا يتوافق تمامًا مع إيقاع التطوير والإصدار الحالي لبرنامج Photoshop. بعد تقييم التكاليف والفوائد، قرر الطرفان الانتقال إلى حل جديد أكثر مرونة: التحسينات الموجهة لملف التعريف المستندة إلى العينات (SPGO).
على عكس PGO التقليدي، الذي يتطلب اختبارًا مخصصًا "لأحمال العمل التمثيلية"، تستفيد SPGO من بيانات عينات أداء الأجهزة من الإصدارات التي تم إصدارها في بيئات العالم الحقيقي لدفع عملية التحسين. هذه الطريقة ليست فقط أكثر مرونة في جمع البيانات ويمكن أن تغطي مجموعة متنوعة من آلات الاختبار والإنتاج، ولكن يمكن أيضًا تغذيتها مرة أخرى إلى المترجم دون أي زيادة تقريبًا في تكلفة وقت التشغيل، وبالتالي توليد تعليمات برمجية أكثر كفاءة للآلة في مرحلة البناء النهائية. تقول مايكروسوفت أن SPGO يمكنها عادةً تحقيق تحسين في الأداء بنسبة 5% إلى 15%، وفي هذا التعاون مع Adobe، أثبتت هذه التقنية أنها أكثر ملاءمة للتكامل في نظام Photoshop الهندسي.
بعد التأكد من ملاءمة SPGO، قامت Microsoft وAdobe بدمج وضع الأداء الأقصى لـ MSVC مع SPGO لتشكيل مسار تحسين جديد. وفقًا للبيانات التي كشفت عنها Microsoft، تعمل نسخة البناء المُحسّنة على تحسين الأداء العام بحوالي 20% على أنظمة Windows المستندة إلى x64 وبنحو 13% على منصات Arm. تؤثر هذه التحسينات بشكل مباشر على العمليات الرئيسية التي يتعرض لها المستخدمون كثيرًا كل يوم، مثل سرعة الاستجابة عند الرسم بالفرشاة، وسلاسة رسم الحدود، ووقت فتح الملف، وكفاءة معالجة المرشح.
قال جون فيتزجيرالد، كبير مهندسي تطوير البرمجيات في Adobe، إن هذا التحسين المستند إلى MSVC وSPGO أدى إلى تحسين استجابة التفاعلات عالية التردد بشكل كبير مثل عمليات الرسم والحد، وفتح الملفات، ومعالجة التصفية. في سير العمل الإبداعي الاحترافي، غالبًا ما تكون هذه العمليات هي الأجزاء التي يعتمد عليها المستخدمون بشكل أكبر والأكثر حساسية للتأخير. تؤثر سلاسة هذه العناصر بشكل مباشر على قدرة المبدعين على الحفاظ على إيقاع إبداعي متماسك ومتكرر.
وأكدت مايكروسوفت أن تعاونها مع أدوبي في مشروع Photoshop لا يهدف فقط إلى تحسين أداء تطبيق واحد، ولكنه يوفر أيضًا مرجعًا تقنيًا مهمًا لتحسين البرامج الأخرى على منصة Windows في المستقبل. وتأمل الشركة أنه من خلال إظهار قدرات MSVC في وضع الأداء الأقصى وتقنية SPGO، فإنها ستشجع المزيد من المطورين على الاستفادة بشكل منهجي من إمكانات الأداء من مستوى المترجم عند إنشاء تطبيقات لنظام Windows البيئي، وبالتالي تزويد المستخدمين بتجربة أكثر سلاسة وكفاءة.