إليك سماعة الرأس Samsung Galaxy XR التي تعمل بنظام Android XR. هذه المشاركة في المدونة جزء من أسبوع Android XR Spotlight الذي نوفّر فيه مراجع، مثل مشاركات في المدونة وفيديوهات ورموز برمجية نموذجية وغير ذلك، وكلها مصمّمة لمساعدتك في التعلّم والإنشاء وإعداد تطبيقاتك لمنصة Android XR.
أطلقت Samsung هذا الأسبوع سماعة الرأس Galaxy XR التي تم إنشاؤها بالتعاون مع Google وQualcomm. هذا وقت مثير للمطوّرين، وأردنا مساعدتك في الحصول على أفضل أداء ممكن من تطبيقك المتوافق مع تقنيات الواقع المُمتد.
في حين أنّ الأداء الضعيف في الألعاب والتطبيقات على الأجهزة غير المتوافقة مع تقنيات الواقع المُمتد يمكن أن يكون محبطًا للمستخدم، فإنّ الأداء في عالم الواقع المُمتد ليس اختياريًا فحسب، بل هو أساسي لنجاح تطبيقك. إذا لم تحقّق عدد اللقطات في الثانية المستهدَف في الواقع المُمتد، يمكن أن يؤدي ذلك إلى مشاكل أكثر خطورة بكثير، مثل دوار الحركة.
في هذا الدليل، سنشرح لك تحسينات الأداء الأساسية التي عليك فهمها لتطوير تطبيقات Android XR. ستتعرّف على الميزات التي تحقّق أكبر تحسينات في الأداء، ومتى يجب استخدامها، وكيف تعمل معًا لمساعدتك في تحقيق عدد اللقطات في الثانية المستهدَفة.
إليك ما نسعى إلى تحقيقه:
- الحد الأدنى: 72 لقطة في الثانية (جزء من إرشادات جودة التشغيل)
- اختياري: 90 لقطة في الثانية مع ميزانية قدرها 11 ملي ثانية لكل لقطة
لمزيد من المعلومات حول أهمية الحفاظ على معدّل لقطات مرتفع كهذا، اطّلِع على إرشادات الأداء.
ميزات الأداء الخاصة بالواقع المُمتد
سنبدأ بتغطية ميزتَين خاصتَين بالأداء في الواقع المُمتد، وهما العرض المُركَّز على منطقة الرؤية وجمع العيّنات الجزئية في Vulkan.
العرض المُركَّز على منطقة الرؤية
العرض المُركَّز على منطقة الرؤية هو تحسين يتضمّن وضعَين. الأول هو الوضع الثابت الذي يعرض مركز الشاشة بدقة أعلى، ويقلّل الدقة تدريجيًا كلما نظرت إلى الخارج.
والثاني هو وضع تتبُّع العين الذي يعرض بالتفصيل المنطقة التي تنظر إليها تحديدًا، مع تقليل الجودة المعروضة في رؤيتك المحيطية. ويحاكي هذا الوضع بشكل أساسي طريقة عمل الرؤية البشرية، حيث لا نرى التفاصيل الدقيقة إلا في المنطقة المحدّدة التي نركّز عليها.
يقلّل العرض المُركَّز على منطقة الرؤية بشكل كبير من حِمل وحدة معالجة الرسومات بدون التأثير سلبًا على جودة الصورة التي يراها المستخدم. تكمن ميزة العرض المُركَّز على منطقة الرؤية في أنّ المستخدمين لن يلاحظوا انخفاض الجودة في رؤيتهم المحيطية، ولكن ستلاحظ وحدة معالجة الرسومات بالتأكيد الأداء المحسّن.
تخيَّل أنّك تنشئ تجربة متحف تتضمّن قطعًا أثرية ثلاثية الأبعاد معقدة. بدون العرض المُركَّز على منطقة الرؤية، ستواجه صعوبة في الحفاظ على 90 لقطة في الثانية أثناء محاولة عرض كل شيء في "مجال الرؤية". باستخدام العرض المُركَّز على منطقة الرؤية، يمكنك الحفاظ على هذه التفاصيل عالية الدقة في المنطقة التي ينظر إليها المستخدم، ولكن يتم عرض البيئة الخلفية بجودة أقل. لن يلاحظ المستخدمون الفرق، ولكن سيكون لديك مساحة إضافية لإضافة المزيد من التفاصيل إلى المشهد.
جمع العيّنات الجزئية في Vulkan
ميزة "جمع العيّنات الجزئية في Vulkan" هي أفضل صديق للعرض المُركَّز على منطقة الرؤية. في حين أنّ العرض المُركَّز على منطقة الرؤية يحدّد ما يجب عرضه بمستويات جودة مختلفة، تتعامل ميزة "جمع العيّنات الجزئية في Vulkan" مع كيفية عرض مستويات الجودة المختلفة بكفاءة باستخدام "خرائط كثافة الأجزاء".
عند دمج ميزة "جمع العيّنات الجزئية في Vulkan" مع العرض المُركَّز على منطقة الرؤية، ستحصل على 0.5 ملي ثانية إضافية من الأداء. تساعد هذه الميزة أيضًا في إزالة الحواف الخشنة في رؤيتك المحيطية، ما يجعل الصورة تبدو أكثر وضوحًا بشكل عام.
على سبيل المثال، في لعبة محاكاة الطيران حيث يركّز المستخدمون على الأدوات وعناصر التحكّم، يعني الجمع بين العرض المُركَّز على منطقة الرؤية وجمع العيّنات الجزئية في Vulkan أنّ عناصر التحكّم التفصيلية يتم عرضها بوضوح، ولكن هيكل قمرة القيادة المحيطية يستخدم عددًا أقل من الموارد. قد لا تبدو 0.5 ملي ثانية إضافية كثيرة، ولكنها الفرق بين توفّر مساحة لعنصر تفاعلي إضافي أو عدم توفّرها، أو بين عدم فقدان لقطات أثناء اللحظات الشديدة أو فقدانها.
ميزات وحدة معالجة الرسومات للمشاهد المعقدة
بالإضافة إلى العرض المُركَّز على منطقة الرؤية وجمع العيّنات الجزئية في Vulkan، هناك بعض ميزات وحدة معالجة الرسومات التي تقلّل من الضغط غير الضروري من خلال إنشاء مثيلات ذكية وإزالة العناصر غير المرئية. تكون هذه الميزات فعّالة بشكل خاص للمشاهد المعقدة التي تتضمّن أشكالاً هندسية متكررة أو حجبًا كبيرًا.
GPU Resident Drawer
تستخدم ميزة GPU Resident Drawer تلقائيًا إنشاء مثيلات وحدة معالجة الرسومات لتقليل طلبات الرسم وتوفير وقت المعالجة لوحدة المعالجة المركزية. بدلاً من أن تخبر وحدة المعالجة المركزية وحدة معالجة الرسومات عن كل عنصر على حدة، تجمع وحدة معالجة الرسومات العناصر المتشابهة معًا.
تكون هذه الميزة أكثر فعالية للمشاهد الكبيرة التي تتضمّن أشكالاً شبكية متكررة، مثل الأشجار في الغابة أو الأثاث في مبنى مكاتب أو الدعائم المنتشرة في جميع أنحاء البيئة.
تخيَّل مشهدًا في غابة يتضمّن 200 شجرة تستخدم الشكل الشبكي الأساسي نفسه. بدون ميزة GPU Resident Drawer، سيكون لديك 200 طلب رسم تستهلك وحدة معالجة الرسومات، وبالتالي توفّر وقت المعالجة لوحدة المعالجة المركزية. عند تفعيل هذه الميزة، ستنشئ وحدة معالجة الرسومات مثيلات ذكية لهذه الأشجار، ما من المفترض أن يقلّل عدد طلبات الرسم إلى 5 أو 10 فقط. هذا توفير كبير لوحدة معالجة الرسومات يمكنك استثماره بعد ذلك في منطق اللعب أو عمليات حساب الفيزياء.
GPU Occlusion Culling
تستخدم ميزة GPU Occlusion Culling وحدة معالجة الرسومات بدلاً من وحدة المعالجة المركزية لتحديد العناصر المخفية وتخطّي عرضها. ترصد هذه الميزة تلقائيًا ما يتم حجبه (إخفاؤه) خلف عناصر أخرى، لذا لن تستهلك وحدة معالجة الرسومات في عرض أشياء لا يمكن للمستخدم رؤيتها.
تكون هذه الميزة فعّالة بشكل خاص في المساحات الداخلية التي تتضمّن غرفًا متعددة أو بيئات كثيفة أو مشاهد معمارية تحجب فيها الجدران والأرضيات والعناصر الرؤية بشكل طبيعي.
على سبيل المثال، لنفترض أنّك تنشئ تجربة منزل متعدد الغرف. عندما يكون المستخدم في غرفة المعيشة، لماذا تستهلك دورات وحدة معالجة الرسومات في عرض المطبخ المفصّل بالكامل والمخفي تمامًا خلف جدار؟ تتخطّى ميزة GPU Occlusion Culling تلقائيًا عرض هذه العناصر المخفية، ما يمنحك ميزانية قائمة على الأداء أكبر لما هو مرئي فعليًا.
مراقبة الأداء
لا يكفي مجرد استخدام هذه الميزات. عليك أيضًا قياس التحسينات التي تجريها، حتى تتمكّن من تحديد تأثيرها كميًا والتأكّد من أنّ التغييرات التي تجريها تعمل فعلاً.
Performance Metrics API
توفر Performance Metrics API مراقبة في الوقت الفعلي لاستخدام الذاكرة وأداء وحدة المعالجة المركزية وأداء وحدة معالجة الرسومات في تطبيقاتك. تمنحك هذه الواجهة بيانات شاملة من طبقتَي Compositor وRuntime، ما يتيح لك الاطّلاع على ما يحدث بالضبط في تطبيقك.
ضَع خطًا أساسيًا قبل إجراء التغييرات، وطبِّق تحسينًا، وقِس التأثير، وكرِّر العملية. يعني هذا المنهج المستند إلى البيانات أنّك تعرف أنّك تحسّن الأداء فعليًا بدلاً من التخمين.
قبل تفعيل العرض المُركَّز على منطقة الرؤية، قد يكون وقت عرض اللقطة لوحدة معالجة الرسومات 13 ملي ثانية، وهو ما يزيد عن ميزانيتك البالغة 11 ملي ثانية. فعِّل العرض المُركَّز على منطقة الرؤية، وقِس الأداء مرة أخرى، ونأمل أن ينخفض إلى 9 ملي ثانية. هذا يعني أنّك حصلت على 4 ملي ثانية إضافية يمكنك استخدامها لإضافة المزيد من التفاصيل إلى المشهد أو تحسين الجودة المرئية في مكان آخر أو ببساطة ضمان أداء أكثر سلاسة في مجموعة أوسع من المحتوى.
بدون هذه المقاييس، ستجري التحسينات بدون معرفة التأثير. تخبرك واجهة برمجة التطبيقات Performance Metrics API بالحقيقة حول ما يساعد فعلاً في حالة الاستخدام المحدّدة.
برنامج تصحيح أخطاء الإطارات
برنامج تصحيح أخطاء الإطارات هو أداة مدمجة في Unity لفهم كيفية عرض المشهد بالضبط، إطارًا بإطار. تعرض لك هذه الأداة تسلسل طلبات الرسم وتتيح لك تتبُّعها للتأكّد من أنّ التحسينات التي تجريها تعمل بشكل صحيح.
هل تريد التأكّد من أنّ ميزة SRP Batcher تعمل؟ ابحث عن الإدخالات "RenderLoopNewBatcher" في برنامج تصحيح أخطاء الإطارات. هل تريد التأكّد من أنّ ميزة GPU Resident Drawer تجمع العناصر بشكل صحيح؟ ابحث عن الإدخالات "Hybrid Batch Group". تساعدك عمليات التأكيد المرئية هذه في فهم ما إذا كانت إعدادات التحسين تؤثر فعلاً.
تتبَّع أول 50 طلب رسم في المشهد. إذا رأيت عناصر مشابهة يتم رسمها بشكل فردي بدلاً من تجميعها، فهذا يعني أنّ إنشاء المثيلات أو التجميع لا يعمل بشكل صحيح. يجعل برنامج تصحيح أخطاء الإطارات هذه المشاكل مرئية على الفور حتى تتمكّن من حلّها.
تحسينات إضافية
بالإضافة إلى التحسينات التي تناولناها أعلاه، يتناول دليل الأداء الكامل أيضًا بعض التحسينات الإضافية الأخرى. إليك ملخّص سريع:
- إعدادات URP: أوقِف النطاق العالي الديناميكية والمعالجة اللاحقة لتطبيق XR على الأجهزة الجوّالة. تقدّم هاتان الميزتان تأثيرًا مرئيًا ضئيلاً مقارنةً بتكلفة الأداء على الأجهزة الجوّالة، لذا ستحصل على تحسينات قابلة للقياس في الأداء مع اختلافات مرئية بالكاد يمكن ملاحظتها.
- ميزة SRP Batcher: تقلّل من الحمل الزائد لوحدة المعالجة المركزية للمشاهد التي تتضمّن العديد من المواد التي تستخدم متغيّر التظليل نفسه. من خلال تقليل تغييرات حالة العرض بين طلبات الرسم، يمكنك تقليل وقت وحدة المعالجة المركزية الذي يتم استخدامه في العرض بشكل كبير.
- معدّل تحديث الشاشة: اضبط ديناميكيًا بين 72 لقطة في الثانية و90 لقطة في الثانية استنادًا إلى مدى تعقيد المشهد. قلِّل عدد اللقطات في الثانية أثناء التسلسلات المعقدة للحفاظ على الثبات، ثم زِده أثناء اللحظات الأبسط للتفاعل بسلاسة فائقة.
- العمق/النسيج غير الشفاف: أوقِف هذه الميزات ما لم تكن مطلوبة تحديدًا لتأثيرات التظليل. تؤدي هذه الميزات إلى عمليات نسخ غير ضرورية لوحدة معالجة الرسومات تستهلك الأداء بدون تقديم أي فائدة لمعظم التطبيقات.
- مقياس العرض في URP: يتيح لك هذا الإعداد العرض بدقة منخفضة لتحسين الأداء أو زيادة دقة العرض لتحسين الجودة المرئية.
للحصول على تعليمات مفصّلة حول هذه التحسينات والمزيد، اطّلِع على دليل أداء Unity الكامل لمنصة Android XR.
الخاتمة
أداء تطبيقك المتوافق مع تقنيات الواقع المُمتد ليس مجرد خيار فني. إنّه الفرق بين تجربة مريحة وجذابة وتجربة تجعل المستخدمين يشعرون بالمرض أو عدم الراحة. التحسينات التي تناولناها هي مجموعة الأدوات التي تساعدك في تحقيق معدّلات اللقطات المستهدَفة المهمة على أحدث أجهزة الواقع المُمتد.
إليك خارطة الطريق:
- ابدأ بالعرض المُركَّز على منطقة الرؤية وجمع العيّنات الجزئية في Vulkan. تحقّق هاتان الميزتان الخاصتان بالواقع المُمتد توفيرات فورية وملحوظة لوحدة معالجة الرسومات.
- أضِف ميزتَي GPU Resident Drawer وOcclusion Culling إذا كانت لديك مشاهد معقدة تتضمّن أشكالاً هندسية متكررة أو مساحات داخلية.
- راقِب كل شيء باستخدام واجهة برمجة التطبيقات Performance Metrics API للتأكّد من أنّ التغييرات التي تجريها تساعد فعلاً.
- استكشِف تحسينات URP الإضافية للحصول على مساحة إضافية للأداء
من الضروري القياس باستمرار وتكرار العملية. لن يستفيد كل مشروع من كل تحسين بالتساوي، لذا استخدِم واجهة برمجة التطبيقات Performance Metrics API للحصول على فكرة واضحة عن ما يساعد فعلاً في حالة الاستخدام المحدّدة.
الخطوة التالية: توسيع نطاق مهاراتك
هل أنت مستعد للاطّلاع على مزيد من التفاصيل؟ يمكنك الاطّلاع على المراجع التالية:
- دليل أداء Unity لمنصة Android XR : تعليمات مفصّلة لتنفيذ جميع الميزات التي تم تناولها هنا.
- بدء استخدام Unity وAndroid XR - يمكنك إعداد بيئة التطوير و البدء في الإنشاء.
- مستندات المطوّرين لمنصة Android XR : أدلة شاملة لجميع ميزات Android XR الخاصة
متابعة القراءة
-
أخبار المنتجات
يتطوّر النظام الأساسي للأجهزة الجوّالة باستمرار، ما يوفّر فرصًا جديدة ويفرض تهديدات جديدة. من خلال هذه التغييرات، يظلّ Android وGoogle Play ملتزمَين بضمان استمرار مليارات المستخدمين في الاستمتاع بتطبيقاتهم بثقة وازدهار ابتكارات المطوّرين.
Vijaya Kaza • قراءة لمدة 3 دقائق
-
أخبار المنتجات
إصدار أبريل 2026 من Jetpack Compose مستقر. يتضمّن هذا الإصدار الإصدار 1.11 من وحدات Compose الأساسية (اطّلِع على عملية الربط الكاملة لقائمة إدارة حزم البرامج) وأدوات تصحيح أخطاء العناصر المشترَكة وأحداث لوحة التتبُّع وغير ذلك.
Meghan Mehta • قراءة لمدة 5 دقائق
-
أخبار المنتجات
أصبح "استوديو Android Panda 4" مستقرًا ومتاحًا لك الآن لتستخدمه في الإنتاج. يتضمّن هذا الإصدار "وضع التخطيط" و"توقّع التعديل التالي" وغير ذلك، ما يسهّل أكثر من أي وقت مضى إنشاء تطبيقات Android عالية الجودة.
Matt Dyor • قراءة لمدة 5 دقائق
البقاء على اطّلاع على آخر التحديثات
احصل على أحدث المعلومات حول تطوير تطبيقات Android التي يتم إرسالها إلى بريدك الوارد أسبوعيًا.