تكوين التحسين باستخدام توجيهات الملف الشخصي في Visual Studio

تم توفير دعم التحسين الموجَّه من خلال الملف الشخصي في الإصدار 22.2.71 من AGDE.

تحديد مكان إعدادات PGO

افتح إعدادات مشروعك من Solution Explorer (مستكشف الحلول).

قائمة خصائص مستكشف حلول Visual Studio للمشروع الحالي.

الشكل 1: نافذة مستكشف حلول Visual Studio.

تأكَّد من ضبط "النظام الأساسي" على إعدادات Android (على سبيل المثال، Android-arm64-v8a).

في اللوحة على يمين الشاشة، اختَر إعدادات الضبط > عام. ابحث عن مجموعة المواقع الإلكترونية المسماة PGO.

يحتوي مربع حوار خصائص المشروع على الخصائص العامة المعروضة، ويتم تمييز إعدادات PGO

الشكل 2: مربّع حوار "خصائص المشروع".

تفعيل الإصدارات المستنِدة إلى أدوات PGO في المشروع

أضِف إلى مشروعك إعدادًا جديدًا يُعرف باسم Measuremented (أداة القياس). يستند هذا إلى الإعدادات التي تستخدمها أثناء التطوير للاختبار، والتي يجب أن تكون إصدارًا تقليديًا محسّنًا (لا يزال بإمكانك تفعيل ميزات إضافية لتصحيح الأخطاء طالما أنك تحافظ على إعدادات تحسين برنامج التحويل البرمجي).

انقر على مدير الإعداد... في مربّع الحوار صفحة الموقع.

يظهر أعلى مربع حوار "صفحات المواقع" القائمة المنسدلة
"إعدادات الحلول النشطة" و"النظام الأساسي" وزر "مدير الإعداد"

الشكل 3: مربّع حوار مدير الإعداد.

في مربّع الحوار "مدير الإعداد"، اختَر القائمة المنسدلة إعداد الحلّ النشط واختَر <جديد...>.

مربع حوار مدير التهيئة، مع فتح القائمة المنسدلة لتكوين الحل النشط وتحديد الخيار &quot;جديد&quot;.

الشكل 4: إنشاء ضبط إصدار جديد.

... وإنشاء عملية ضبط جديدة مستندة إلى PGO.

مربّع حوار &quot;إعدادات الحلّ الجديد&quot; الذي يتم من خلاله إنشاء إعدادات جديدة لإصدار PGO تستند إلى إعدادات الإصدار الحالي

الشكل 5: مربّع الحوار الخاص بإعدادات الحل الجديد.

لتفعيل الإنشاء في وضع PGO-instrumented حتى تتمكّن من إنشاء ملف شخصي للعبتك، اختَر مبرمَجة من قائمة خيارات إعداد وضع التحسين الموجَّه إلى الملف الشخصي.

تم فتح مربع حوار &quot;خصائص المشروع&quot; على الإعدادات العامة، مع عرض إعدادات PGO، وضبط وضع &quot;التحسين الموجّه للملف الشخصي&quot; على &quot;مبرمَج&quot;.

الشكل 6: مربّع حوار "خصائص المشروع" الذي يسلّط الضوء على إعدادات PGO.

بالنسبة إلى إعداد الملف الشخصي الإرشادي لتحسين الملفات الشخصية، أدخِل المسار إلى المجلد لكتابة ملف بيانات الملف الشخصي للمخرجات الأولية على جهاز Android. يجب أن تكون هذه القيمة عادةً شيئًا مثل /data/data/<package name>/cache/، حيث يكون <package name> هو اسم الحزمة الكامل لملف APK، على سبيل المثال com.google.sample.tunnel.

للحصول على مزيد من المعلومات المعمّقة حول آلية عمل ذلك، يمكنك الاطّلاع على وثائق Clang.

كتابة بيانات الملف الشخصي المستندة إلى أداة PGO على جهازك

عادةً ما تتم كتابة بيانات PGO على الجهاز بواسطة نظام قياسات PGO عند الخروج من العملية. على أجهزة Android، لا يتم الخروج من التطبيقات، ويتم إنهاؤها دائمًا. ويعني هذا أنّ وظيفة "الكتابة على القرص" التلقائية لا يتم تشغيلها مطلقًا، ما يتطلّب من تطبيقك كتابة بيانات PGO يدويًا.

يجب تسمية تطبيقك صراحةً بـ __llvm_profile_write_file لكتابة بيانات الملف الشخصي. ولا يتوفر هذا الرمز إلا عند إنشاء إصدار مستند إلى PGO. لتسهيل الأمر، نقترح استخدام النمط التالي عند إعادة توجيه نموذج البيان __llvm_profile_write_file.

#ifdef PGO_INSTRUMENT
extern "C" int __llvm_profile_write_file(void);
#else
extern "C" int __llvm_profile_write_file(void) { return 0; }
#endif

يؤدي استدعاء هذه الدالة إلى كتابة بيانات الملف الشخصي إلى المجلد الذي حددته سابقًا.

إجراء تشغيل الملف الشخصي

لإنشاء الملف الشخصي، يتم تشغيل حزمة APK التي تم إنشاؤها باستخدام أداة PGO على الجهاز المستهدف. بعد تطبيق الرمز البرمجي بشكل يرضيك، وتشغيل الطلب إلى دالة __llvm_profile_write_file، سيكتب تطبيقك بيانات الملف الشخصي في مساحة التخزين.

في هذه المرحلة، انسخ الملفات الشخصية مرة أخرى من الجهاز لاستخدامها من قبل المحول البرمجي.

تجهيز بيانات الملف الشخصي لاستخدامها بواسطة المحول البرمجي

عند استخدام أداة سطر الأوامر llvm-profdata بشكل منفصل، والتي يتم شحنها كجزء من Clang/LLVM في Android NDK، يتم استخدام هذه الأداة لإعداد ملفات بيانات الملف الشخصي ليستخدمها برنامج التحويل البرمجي أثناء التحسين الذي يتم توجيهه إلى الملف الشخصي في أحد الإصدارات.

وتُنفِّذ AGDE هذه الخطوة تلقائيًا بالنيابة عنك من خلال دمج أي ملفات بيانات ملف شخصي أضفتها إلى مشروعك معًا، واستخدامها عند ضبط إعداد وضع التحسين الموجَّه إلى الملف الشخصي في صفحات موقع المشروع على محسَّن.

إنشاء مشروعك مع تفعيل ميزة "التحسين الموجهة للملف الشخصي"

الآن وبعد أن التقطت ملفاتك الشخصية وأضفتها إلى مشروعك، يمكن للجامع استخدام هذه البيانات لتحسين تحسين إصدارك.

يمكنك إنشاء إعدادات مشروع جديدة للإصدار PGO-Optimized Build بحيث لا تستخدم هذا الوضع إلا عند الحاجة إليه.

يؤدي مربع حوار &quot;إعدادات الحل الجديد&quot; إلى إنشاء إعدادات إصدار استنادًا إلى إصدار &quot;الإصدار&quot;، ولكن هذه المرة يتم استخدام PGO-Optimized كاسم لإعداد الإصدار الجديد.

الشكل 7: إنشاء إعدادات جديدة للإصدار PGO-Optimized.

اضبط إعداد وضع التحسين الموجَّه إلى الملف الشخصي في صفحات موقع المشروع على محسَّن.

تم فتح مربع حوار &quot;خصائص المشروع&quot; على الإعدادات العامة، مع عرض إعدادات PGO، وضبط وضع &quot;التحسين الموجَّه للملف الشخصي&quot; على
&quot;محسَّن&quot;.

الشكل 8: ضبط وضع تحسين PGO على "محسَّن".

انسخ الملفات من الجهاز وأضفها إلى مشروعك في Solution Explorer. يتم اختيار ملفات بيانات الملف الشخصي هذه بواسطة المحول البرمجي في المرة التالية التي تنشئ فيها ضبط PGO-Optimized، ويتم استخدامها لضبط المحوِّل البرمجي لتحسين التعليمات البرمجية.

يمكنك نسخ ملفات بيانات الملف الشخصي إلى مشروعك من الجهاز باستخدام أداة ADB، أو باستخدام Android Device Explorer.

استخدام ميزة "التحسين الموجّه إلى الملف الشخصي" خارج AGDE

إذا كنت تستخدم نظام إصدار غير متوافق مع AGDE، قد تحتاج إلى تعديل إصدارك مباشرةً. تتناول مستندات Clang مفاتيح التبديل اللازمة، وهي -fprofile-generate و -fprofile-use.

إذا كنت تستخدم محرك برمجيات وسيطة في لعبتك، راجِع مستندات المحرك لمعرفة طريقة تفعيل PGO (إذا كان متوافقًا).