الأدوات والميزات المتقدّمة

برامج تصحيح الأخطاء

تصحيح الأخطاء باستخدام طبقة التحقّق

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

لتفعيل عمليات فحص مكثفة أثناء تطويرك، يوفر Vulkan طبقات تحقُّق، وهي أجزاء من الرمز البرمجي يمكن إدراجه بين واجهة برمجة التطبيقات وبرنامج تشغيل الرسومات لتنفيذ إجراءات مثل إجراء عمليات فحص إضافية لمعلَمات الدوال وتتبُّع مشاكل إدارة الذاكرة. يمكنك تمكين طبقات التحقق من الصحة أثناء التطوير وتعطيلها تمامًا عند تحرير التطبيق الخاص بك بدون أعباء تمويلية.

ويمكن لأي شخص كتابة طبقات التحقق من الصحة، غير أنKronos يوفر مجموعة قياسية واحدة تُعرف باسم VK_LAYER_KHRONOS_validation. اطلع على طبقات التحقق من Vulkan على Android من صفحة NDK على Android لتفعيل طبقة التحقق من الصحة في تطبيقك.

RenderDoc

RenderDoc هي أداة أخرى قوية مفتوحة المصدر تتيح لك التقاط إطار للفحص والتحليل. إنّه أداة فعالة للغاية يستخدمها مبرمجو الرسومات لتصحيح أخطاء المشاهد المعروضة. وهو يتوافق مع Vulkan على نظام Android بشكل جيد على الرغم من أنه يجب ضبط التطبيق على أنّه قابل للتصحيح لكي يعمل.

للحصول على معلومات عن كيفية إعداد التطبيق واستخدامه على تطبيق Android، يمكنك الاطّلاع على المقالة كيف يمكنني استخدام RenderDoc على Android.

التقاط المكتبات أو إعادة تشغيلها

إعادة إنشاء GFX

GFXReCreate هو مشروع مفتوح المصدر يوفّر أدوات لتسجيل وإعادة تشغيل طلبات البيانات من واجهة برمجة التطبيقات للرسومات التي يتم تنفيذها من خلال أحد التطبيقات. يمكن إعادة تشغيل التتبع المسجّل لاحقًا لإعادة بناء السلوك الخاص بالرسومات للتطبيق الذي تم التقاطه. من بين المزايا الرئيسية لبرنامج GFXReCreate [أنه يتيح لك استخدامه على التطبيق الذي تم إصداره (عند إيقاف ميزة android:debuggable).

لمزيد من المعلومات، يُرجى الانتقال إلى مستودع المشروع. تتوفّر معلومات حول إعداد واستخدام Vulkan على نظام Android في GFXReCreate API Map and Replay for Android.

يُرجى العلم بأنّ ملفات التتبُّع ليست قابلة للنقل، ما يعني أنّه لا يمكنك التقاط الملف على أحد الأجهزة وإعادة تشغيله على جهاز آخر (باستخدام إصدار نظام تشغيل أو شرائح مختلفة أو حتى إصدار برنامج تشغيل مختلف).

محلّلون

أداة فحص وحدة معالجة الرسومات لنظام التشغيل Android (AGI)

أداة Android GPU Inspector (AGI) هي محلّل رسومات تم تصميمه لنظام Android ويتضمّن ملفًا تعريفيًا للنظام وأداة تحليل الإطارات. وهو يوفّر معلومات تحليل عالية المستوى تتيح لك فهم الملف الشخصي لأداء لعبتك وتحديد المؤثِّرات السلبية.

لتنزيل أداة AGI والتعرّف على كيفية استخدامها، يمكنك مراجعة الموقع الإلكتروني Android GPU Inspector (أداة فحص وحدة معالجة الرسومات لنظام التشغيل Android).

محلّل "استوديو Android"

"محلل استوديو Android" هو أداة مفيدة لتحليل أداء التطبيقات. ومع ذلك، فهي غير موجهة تحديدًا نحو تحليل الرسومات. ويتكون من محلّل وحدة المعالجة المركزية (CPU)، ومحلل الذاكرة، ومحلل الشبكة، ومحلِّل الطاقة، وملف تعريف الطاقة، ومراقب الأحداث.

للحصول على مزيد من المعلومات حول كيفية إعداد "المحلّل في "استوديو Android" واستخدامه، يمكنك الاطّلاع على القسم تحسين أداء تطبيقك.

محلّلات المصنّعين الأصليين

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

ARM Performance Studio للأجهزة الجوّالة

Arm Mobile Studio for Mobile هو الاسم الجديد لـ Arm Mobile Studio. وهو مجموعة من الأدوات التي تشمل أداة تحليل الرسومات وFrame Advisor لمساعدتك في تحديد وحلّ مشاكل الأداء في وحدات معالجة الرسومات ARM.

للحصول على مزيد من المعلومات، يمكنك الانتقال إلى الموقع الإلكتروني Arm Performance Studio for Mobile.

ARM PerfDoc لوحدات معالجة الرسومات في مالي

PerfDoc هي طبقة Vulkan تم تطويرها للتحقق من توافق التطبيقات مع أفضل ممارسات وحدة معالجة الرسومات في Mali من ARM. ومنذ ذلك الحين، تم دمجها في VK_LAYER_KHRONOS_ validation، وهي جزء في الأساس من طبقات التحقق Vulkan العادية.

للحصول على معلومات حول كيفية استخدامها، اطّلِع على قسم تصحيح الأخطاء باستخدام طبقة التحقّق.

محلّل سناب دراغون من Qualcomm

Qualcomm Snapdragon Profiler هو برنامج تحليل طوّرته شركة Qualcomm لمطوري التطبيقات لتحليل أداء وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (DSP) والذاكرة والطاقة والحرارة وأداء الشبكة لتحديد المؤثِّرات السلبية على شرائح الشرائح.

للحصول على مزيد من المعلومات، يمكنك الاطلاع على محلِّل Snapdragon على شبكة مطوِّري برامج Qualcomm.

ساعة وحدة معالجة الرسومات من Samsung

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

للمزيد من المعلومات عن كيفية تفعيل هذه الميزة، يمكنك الاطّلاع على دليل المستخدم.

سجلّ PVRTune

تتيح PVRTune للمطوّرين إنشاء ملف شخصي على التطبيقات على جهاز PowerVR في الوقت الفعلي باستخدام مجموعة واسعة من العدّادات والمقاييس. كما أنه يسمح بحفظ الجلسة لإجراء مزيد من التحليل منخفض المستوى ولاكتشاف المؤثِّرات في الأداء.

لمزيد من المعلومات حول كيفية استخدام PVRTune، يمكنك الاطّلاع على الدليل.

أدوات نقل البيانات

تحويل أدوات التظليل من GLSL إلى SPIR-V

تتوقع واجهة برمجة تطبيقات Vulkan توفير برامج التظليل بتنسيق SPIR-V الثنائي المتوسط. يختلف هذا الاصطلاح عن OpenGL ES، حيث يمكنك إرسال رمز المصدر المكتوب بلغة تظليل OpenGL (GLSL) كسلاسل نصية.

يشتمل NDK r12 والإصدارات الأحدث على مكتبة وقت تشغيل لتجميع أدوات تظليل GLSL إلى SPIR-V والتي يمكن استخدامها بواسطة Vulkan. يمكن استخدام برنامج التحويل البرمجي shaderc لتجميع برامج التظليل المكتوبة بلغة GLSL إلى SPIR-V. إذا كانت لعبتك تستخدم HLSL، تتيح أداة DirectXShaderCompiler إخراج SPIR-V.

بشكل عام، ستحتاج إلى تجميع برامج التظليل بلا اتصال بالإنترنت كجزء من عملية إنشاء الأصول للعبتك، وتضمين وحدات SPIR-V كجزء من مواد العرض في وقت التشغيل.

للحصول على مزيد من المعلومات حول عملية تجميع أداة التظليل لتطبيق Vulkan، يمكنك الاطّلاع على برامج التحويل البرمجي لـ Vulkan على Android في قسم NDK على Android.

الميزات المتقدّمة

دمج ميزة "معدل سرعة إطارات Android" في عارض Vulkan

تساعد مكتبة Android Frame Pacing (المعروفة أيضًا باسم Swappy) ألعاب Vulkan على تحقيق عرض سلِس ووتيرة صحيحة للحفاظ على تزامن حلقة عرض الألعاب مع النظام الفرعي لعرض اللعبة في نظام التشغيل وأجهزة الشاشة الأساسية.

يساعد السرعة الصحيحة في إزالة العناصر المرئية المعروفة باسم التمزيق، وتحسين استهلاك الطاقة من خلال المزامنة بين تحديثات العرض وعرض الإطارات، كما أنه يزيل الأخطاء من خلال تثبيت عدد اللقطات في الثانية. لمزيد من المعلومات حول أهمية وتيرة عرض اللقطات، راجِع القسم مكتبة سرعة عرض الإطارات في AGDK.

للحصول على مزيد من المعلومات حول كيفية دمج سرعة اللقطات في لعبتك، يمكنك الاطّلاع على المقالة دمج ميزة "معدل سرعة إطارات Android" في عارض Vulkan.

التعامل مع اتجاه الجهاز باستخدام ميزة التدوير المسبق في Vulkan

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

يوفّر Vulkan للمطوّرين إمكانية تحديد المزيد من المعلومات للأجهزة حول حالة العرض مقارنةً بـ OpenGL. وإحدى هذه المعلومات هي اتجاه الجهاز وعلاقته باتجاه السطح. تتيح لك هذه الميزة تنفيذ التناوب المسبق للاستفادة إلى أقصى حد من Vulkan على نظام Android.

للحصول على مزيد من المعلومات عن كيفية التعامل مع تدوير الجهاز بكفاءة على تطبيق Vulkan، يمكنك الاطّلاع على التعامل مع اتجاه الجهاز باستخدام الدوران المسبق لـ Vulkan والتطبيق التجريبي المصاحب.

التحسين بدقة منخفضة

قد يؤثر التنسيق الرقمي لبيانات الرسومات وعمليات التظليل بشكل كبير في أداء لعبتك. تستخدم غالبية العمليات الحسابية والبيانات في الرسومات الثلاثية الأبعاد الحديثة أرقام النقاط العائمة. يستخدم Vulkan على Android أرقام النقاط العائمة التي يبلغ حجمها 32 أو 16 بت. يُشار عادةً إلى رقم النقطة العائمة 32 بت باسم دقة واحدة أو دقة كاملة. على الرغم من أنّه تم تحديد نوع النقطة العائمة 64 بت في Vulkan، فهي غير متاحة بشكل عام ولا يُنصح باستخدامها.

اطلع على التحسين بدقة منخفضة للحصول على معلومات عن كيفية تحسين تطبيق Vulkan لتحقيق أفضل أداء في عملياتك الحسابية.