هذا الاسبوع، أطلقت سامسونج هاتف Galaxy XRتم تصميمه بالتعاون مع Google وQualcomm. يعد هذا وقتًا مثيرًا للمطورين، وأردنا مساعدتك في الحصول على أفضل أداء ممكن من تطبيق XR الخاص بك.
على الرغم من أن الأداء الضعيف في الألعاب والتطبيقات على أجهزة غير XR قد يكون محبطًا للمستخدم، إلا أن الأداء في عالم XR ليس مجرد اختياري، بل إنه أساسي لنجاح تطبيقك. إذا أخطأت هدف معدل الإطارات في XR، فقد يتسبب ذلك في مشاكل أكثر خطورة مثل دوار الحركة.
في هذا الدليل، سنوجهك عبر تحسينات الأداء الأساسية التي تحتاج إلى فهمها لتطوير Android XR. ستتعرف على الميزات التي تحقق أكبر مكاسب في الأداء، ومتى تستخدمها، وكيف تعمل معًا لمساعدتك في تحقيق أهداف معدل الإطارات.
إليك ما نهدف إليه:
لمزيد من المعلومات حول سبب أهمية الحفاظ على معدل الإطارات المرتفع هذا، قم بمراجعة موقعنا إرشادات الأداء.
ميزات الأداء الخاصة بـ XR
سنبدأ بتغطية ميزتين من ميزات الأداء الخاصة بـ XR: العرض Foveated وVulkan Subsampling.
التقديم المفضل
يعد العرض المفضل بمثابة تحسين له وضعان. الأول هو أ الوضع الثابت مما يجعل منتصف الشاشة بدقة أعلى، ويخفض الدقة تدريجيًا كلما نظرت بعيدًا.
والثاني هو وضع تتبع العين والذي يعرض المنطقة التي تنظر إليها بتفاصيل كاملة على وجه التحديد، مع تقليل الجودة المعروضة في أجهزتك الطرفية. إنه يحاكي بشكل أساسي كيفية عمل الرؤية البشرية – حيث نرى فقط التفاصيل الدقيقة في المنطقة المحددة التي نركز عليها.
يعمل العرض المفضل على تقليل عبء عمل وحدة معالجة الرسومات بشكل كبير دون التضحية بجودة الصورة الملموسة للمستخدم. يكمن جمال العرض المفضل في أن المستخدمين لن يلاحظوا انخفاض الجودة في رؤيتهم المحيطية، ولكن وحدة معالجة الرسومات الخاصة بك ستلاحظ بالتأكيد الأداء المحسن.
تخيل أنك تقوم ببناء تجربة متحف باستخدام قطع أثرية ثلاثية الأبعاد معقدة. بدون العرض الدقيق، ستواجه صعوبة في الحفاظ على معدل 90 إطارًا في الثانية في محاولة عرض كل شيء في “مجال الرؤية”. باستخدام العرض المفضل، يمكنك الاحتفاظ بتلك التفاصيل عالية التوليف حيث ينظر إليها المستخدم، ولكن يتم عرض بيئة الخلفية بجودة أقل. لن يلاحظ المستخدمون الفرق، ولكن سيكون لديك المساحة لإضافة المزيد من التفاصيل إلى المشهد الخاص بك.
أخذ عينات فولكان الفرعية
Vulkan Subsampling هو أفضل صديق للعرض. في حين أن العرض المفضل هو الذي يقرر ما سيتم عرضه بمستويات جودة مختلفة، يتعامل Vulkan Subsampling مع كيفية تقديم مستويات الجودة المختلفة بكفاءة باستخدام خرائط كثافة الشظايا.
عند دمجه مع العرض المفضل، يمنحك Vulkan Subsampling أداءً إضافيًا يبلغ 0.5 مللي ثانية. كما أنه يساعد على تنعيم الحواف الخشنة في رؤيتك المحيطية، مما يجعل الصورة العامة تبدو أكثر نظافة.
على سبيل المثال، في لعبة محاكاة الطيران حيث يركز المستخدمون على الأدوات وعناصر التحكم، فإن الجمع بين العرض المفضل مع Vulkan Subsampling يعني عرض عناصر التحكم التفصيلية بشكل حاد، لكن هيكل قمرة القيادة الطرفية يستخدم موارد أقل. لا يبدو هذا الـ 0.5 مللي ثانية الإضافي كثيرًا، ولكنه يمثل الفرق بين وجود مساحة لعنصر تفاعلي إضافي أو إسقاط الإطارات أثناء اللحظات المكثفة.
ميزات GPU للمشاهد المعقدة
إلى جانب Foveated Rendering وVulkan Subsampling، هناك بعض ميزات GPU التي تقلل الضغط غير الضروري من خلال المثيل الذكي والتصفية. تعتبر هذه فعالة بشكل خاص للمشاهد المعقدة ذات الأشكال الهندسية المتكررة أو الإطباق الكبير.
درج GPU المقيم
ال درج GPU المقيم يستخدم تلقائيًا مثيل GPU لتقليل مكالمات السحب وتحرير وقت معالجة وحدة المعالجة المركزية. لذلك، بدلاً من إخبار وحدة المعالجة المركزية لوحدة معالجة الرسومات عن كل كائن على حدة، تقوم وحدة معالجة الرسومات بتجميع الكائنات المتشابهة معًا.
تكون هذه الميزة أكثر فعالية للمشاهد الكبيرة ذات الشبكات المتكررة، مثل الأشجار في الغابة، أو الأثاث في مبنى المكاتب، أو الدعائم المنتشرة في جميع أنحاء البيئة.
تصور مشهد غابة بها 200 شجرة باستخدام نفس الشبكة الأساسية. بدون GPU Resident Drawer، سيكون لديك 200 مكالمة سحب تستهلك وحدة معالجة الرسومات، وبالتالي تحرير وحدة المعالجة المركزية. عندما تقوم بتمكين هذه الميزة، ستقوم وحدة معالجة الرسومات بمحاكاة تلك الأشجار بذكاء، مما يجب أن يقللها إلى 5-10 مكالمات سحب فقط. يعد هذا توفيرًا هائلاً في وحدة معالجة الرسومات (GPU)، ويمكنك بعد ذلك الاستثمار في منطق اللعب أو الحسابات الفيزيائية.
إعدام انسداد GPU
إعدام انسداد GPU يستخدم GPU بدلا من وحدة المعالجة المركزية لتحديد وتخطي عرض الكائنات المخفية. فهو يكتشف تلقائيًا ما هو محجوب (مخفي) خلف الكائنات الأخرى، لذلك لا تهدر وحدة معالجة الرسومات الخاصة بك على أشياء لا يستطيع المستخدم رؤيتها.
هذه الميزة قوية بشكل خاص في المساحات الداخلية التي تحتوي على غرف متعددة، أو بيئات كثيفة، أو مشاهد معمارية حيث تحجب الجدران والأرضيات والأشياء الرؤية بشكل طبيعي.
على سبيل المثال، لنفترض أنك تقوم ببناء تجربة منزل متعدد الغرف. عندما يكون المستخدم في غرفة المعيشة، لماذا تهدر دورات GPU لإخراج المطبخ المفصل بالكامل والمخفي تمامًا خلف الجدار؟ يتخطى GPU Occlusion Culling تلقائيًا عرض تلك الكائنات المخفية، مما يمنحك ميزانية أداء أكبر لما هو مرئي بالفعل.
مراقبة أدائك
لا يكفي مجرد استخدام هذه الميزات. تحتاج أيضًا إلى قياس تحسيناتك، حتى تتمكن من قياس تأثيرها والتحقق من أن التغييرات التي أجريتها تعمل بالفعل.
واجهة برمجة تطبيقات مقاييس الأداء
ال واجهة برمجة تطبيقات مقاييس الأداء يوفر مراقبة في الوقت الفعلي لاستخدام ذاكرة تطبيقاتك وأداء وحدة المعالجة المركزية وأداء وحدة معالجة الرسومات. فهو يوفر لك بيانات شاملة من طبقات المُركب ووقت التشغيل، حتى تتمكن من رؤية ما يحدث بالضبط في تطبيقك.
أنشئ خطًا أساسيًا قبل إجراء التغييرات، وقم بتطبيق التحسين، وقياس التأثير، وتكراره. هذا النهج المبني على البيانات يعنيك يعرف أنت في الواقع تعمل على تحسين الأداء بدلاً من التخمين.
قبل تمكين العرض المفضل، قد يكون وقت إطار وحدة معالجة الرسومات لديك 13 مللي ثانية، وهو ما يتجاوز ميزانيتك البالغة 11 مللي ثانية. قم بتمكين العرض المفضل، وقم بالقياس مرة أخرى، ونأمل أن تراه ينخفض إلى 9 مللي ثانية. إنها مساحة قدرها 4 مللي ثانية اكتسبتها لإضافة المزيد من التفاصيل إلى المشهد الخاص بك، أو تحسين الجودة المرئية في مكان آخر، أو ببساطة ضمان أداء أكثر سلاسة عبر نطاق أوسع من المحتوى.
وبدون هذه المقاييس، فإنك تقوم بالتحسين بشكل أعمى. تخبرك واجهة برمجة تطبيقات مقاييس الأداء بالحقيقة حول ما يساعد بالفعل في حالة الاستخدام المحددة الخاصة بك.
مصحح الإطار
ال مصحح الإطار هي أداة Unity المدمجة لفهم كيفية عرض مشهدك بالضبط، إطارًا تلو الآخر. يعرض لك تسلسل مكالمات السحب ويتيح لك التنقل خلالها للتحقق من أن التحسينات التي أجريتها تعمل بشكل صحيح.
هل تريد التأكد من أن SRP Batcher يعمل؟ ابحث عن إدخالات “RenderLoopNewBatcher” في مصحح الإطار. هل تريد التحقق مما إذا كان درج GPU المقيم يتم تجميعه بشكل صحيح؟ ابحث عن إدخالات “Hybrid Batch Group”. تساعدك هذه التأكيدات المرئية على فهم ما إذا كانت إعدادات التحسين الخاصة بك سارية المفعول أم لا.
انتقل عبر أول 50 مكالمة سحب لمشهدك. إذا رأيت كائنات متشابهة يتم رسمها بشكل فردي بدلاً من تجميعها، فهذا يخبرك بأن المثيل أو التجميع لا يعمل بشكل صحيح. يجعل مصحح أخطاء الإطار هذه المشكلات مرئية على الفور حتى تتمكن من معالجتها.
تحسينات إضافية
بالإضافة إلى التحسينات التي تناولناها أعلاه، يغطي دليل الأداء الكامل لدينا أيضًا بعض التحسينات الإضافية الأخرى. فيما يلي ملخص سريع:
-
إعدادات URP: قم بتعطيل تقنية HDR والمعالجة اللاحقة للجوال XR. توفر هذه الميزات الحد الأدنى من التأثير البصري مقارنة بتكلفة أدائها على الأجهزة المحمولة، لذلك ستحصل على مكاسب أداء قابلة للقياس مع اختلافات مرئية بالكاد يمكن إدراكها.
-
مجمع SRP: يقلل من حمل وحدة المعالجة المركزية للمشاهد التي تحتوي على العديد من المواد باستخدام نفس متغير التظليل. من خلال تقليل تغييرات حالة العرض بين مكالمات السحب، يمكنك تقليل وقت وحدة المعالجة المركزية المستغرق في العرض بشكل كبير.
-
عرض معدل التحديث: اضبط ديناميكيًا بين 72 إطارًا في الثانية و90 إطارًا في الثانية بناءً على مدى تعقيد المشهد. قم بخفض معدل الإطارات أثناء التسلسلات المعقدة للحفاظ على الاستقرار، ثم قم بزيادته خلال لحظات أبسط للتفاعل فائق السلاسة.
-
العمق/الأنسجة المعتمة: قم بتعطيل هذه ما لم تكن هناك حاجة خاصة لتأثيرات التظليل. إنها تتسبب في عمليات نسخ GPU غير الضرورية التي تؤدي إلى إهدار الأداء دون توفير فائدة لمعظم التطبيقات.
-
مقياس عرض URP: يتيح لك هذا الإعداد العرض بدقة منخفضة للحصول على فوائد الأداء أو ترقية العرض للحصول على جودة مرئية محسنة.
للحصول على إرشادات خطوة بخطوة حول هذه التحسينات والمزيد، راجع دليل أداء Unity الكامل لنظام Android XR.
خاتمة
لا يعد أداء تطبيق XR الخاص بك مجرد مربع اختيار فني. إنه الفرق بين التجربة المريحة والجذابة والتجربة التي تجعل المستخدمين يشعرون بالمرض أو عدم الارتياح. التحسينات التي تناولناها هي مجموعة الأدوات الخاصة بك لتحقيق أهداف معدل الإطارات المهمة على أحدث أجهزة XR.
إليك خريطة الطريق الخاصة بك:
-
ابدأ بالعرض Foveated وVulkan Subsampling. توفر هذه الميزات الخاصة بـ XR توفيرًا فوريًا وملحوظًا في وحدة معالجة الرسومات.
-
قم بإضافة GPU Resident Drawer وOcclusion Culling إذا كان لديك مشاهد معقدة ذات أشكال هندسية متكررة أو مساحات داخلية.
-
راقب كل شيء باستخدام واجهة برمجة تطبيقات مقاييس الأداء للتأكد من أن التغييرات التي تجريها تساعد بالفعل
-
استكشف تحسينات URP الإضافية للحصول على مساحة إضافية للأداء
من الضروري القياس بشكل مستمر والتكرار. لن يفيد كل تحسين كل مشروع بشكل متساوٍ، لذا استخدم واجهة برمجة تطبيقات مقاييس الأداء للحصول على فكرة واضحة عما يساعد فعليًا في حالة الاستخدام المحددة لديك.
ما هو التالي: توسيع مهاراتك
على استعداد للغوص أعمق؟ تحقق من هذه الموارد:
-
دليل أداء الوحدة لنظام Android XR – أكمل تعليمات التنفيذ خطوة بخطوة لجميع الميزات المغطاة هنا.
-
البدء باستخدام Unity وAndroid XR – قم بإعداد بيئة التطوير الخاصة بك و البدء في البناء.
-
وثائق مطور Android XR – أدلة شاملة لجميع أجهزة Android XR سمات

