لإنشاء تجارب مقنعة لمستخدمي الواقع المعزّز، من المهم أن تكون الهواتف التي تستخدم الواقع المعزّز تطبيقك بشكل جيد.
تأكَّد من أنّ تطبيقك:
- الاستجابة للإدخالات التي أدخلها المستخدم، والتي تشمل إيماءات اللمس والجهاز الحركة.
- يتم عرضها بمعدل عرض إطارات معقول وثابت. المستخدمون عمومًا تفضيل معدلات عرض الإطارات الثابتة والأقل من معدلات عرض الإطارات وأعلى.
- الحد من استنزاف البطارية، وتمكين المستخدم من استخدام جهازه لتطبيقات أخرى أو المهام على مدار اليوم أو التفاعل لفترة أطول مع تجربة الواقع المعزّز.
- لتوفير تجربة الواقع المعزّز الجذّابة التي يظهر فيها المحتوى الذي تم إنشاؤه باستخدام الواقع المعزّز مستقرًا بالنسبة إلى البيئة، ويندمج واقعيًا مع محددة.
أفضل الممارسات المتعلقة بالأداء
لإنشاء تجارب الواقع المعزّز أكثر جاذبية، يُرجى التصميم باستخدام أفضل ما يلي: الممارسات في الاعتبار.
استخدام الإعلانات الثابتة لتحسين أداء التتبُّع
ورغم إمكانية وضع المحتوى الثلاثي الأبعاد باستخدام إحداثيات فضاء العالم، استخدِم دائمًا علامة ارتساء كلما أمكن ذلك. تضمن ARCore أن تظهر علامات الارتساء بشكل ثابت بالنسبة إلى العالم، على الرغم من تتغير إحداثيات الفضاء الأساسي وقد تنتقل بمرور الوقت كلما انطلقت ARCore إلى تحديث فهمه للعالم.
في بعض الأحيان، ستظهر الكائنات الافتراضية غير المرتبطة بمرساة ولن تظهر مستقرة بالنسبة للبيئة. هذا يمكن أن تجربة الواقع المعزّز أقل جاذبية للمستخدمين.
مراعاة خصائص الأداء الخاصة بالجهاز
تغطي الأجهزة المتوافقة مع ARCore مجموعة واسعة من التطبيقات من الأجهزة وخصائص الأداء. يمكن أن يختلف أداء الجهاز للأسباب التالية:
- وحدة المعالجة المركزية (CPU)/وحدة معالجة الرسومات للجهاز، سرعة الساعة
- الذاكرة والنطاق الترددي المتاحان
- جودة الكاميرا/أداة استشعار IMU
- الاختلافات الأخرى في الأجهزة
- برامج تشغيل أنظمة التشغيل والأجهزة
نقترح اختبار تطبيقك على فئات مختلفة من الأجهزة الأجهزة التي سيستخدمها المستخدمون لديك.
إيقاف الميزات التي تستهلك وحدة المعالجة المركزية (CPU) عندما لا تكون قيد الاستخدام
تزيد بعض ميزات ARCore من استخدام وحدة المعالجة المركزية (CPU) عند تفعيلها. ضع في اعتبارك إيقاف هذه الميزات عندما لا تتطلّب تجربة الواقع المعزّز معهم. سيؤدي ذلك إلى إتاحة دورات إضافية لوحدة المعالجة المركزية (CPU) لتطبيقك، وتحسين الأداء الحراري وعمر البطارية
في الوقت الحالي، يزداد استخدام وحدة المعالجة المركزية ARCore عند استخدام Instant Placement و/أو تم تفعيل Augmented Images للجلسة الحالية. متابعة هذه إرشادات حول زيادة كفاءة استخدام وحدة المعالجة المركزية (CPU):
يجب إيقاف "Instant Placement" بعد إكمال عملية التتبُّع بالكامل. التأسيس. يمكن إيقاف الميزة في إعداد الجلسة.
يجب إيقاف Augmented Images عندما لا تكون الميزة مطلوبة. حول تجربة الواقع المعزّز لإيقاف ميزة "الصور المعزَّزة"، يجب إعداد
null
أو قاعدة بيانات الصور المعززة فارغة في إعداد الجلسة.
مراقبة درجات الحرارة في الجهاز
أثناء التطوير واختبار تأكيد الجودة، يمكنك استخدام واجهات برمجة التطبيقات الحرارية في Android لمراقبة وتتبُّع أداء تطبيقك على الجهاز
احرص على استخدام إصدار إنتاجي لتطبيقك (وليس تطويرًا أو qa لتطبيقك الذي قد يكون له أداء وقت تشغيل مختلف وسماتها الشخصية.
PowerManager#getCurrentThermalStatus()
(المستوى 29 من واجهة برمجة التطبيقات)PowerManager#getThermalHeadroom(int)
(المستوى 30 من واجهة برمجة التطبيقات)
التعرّف على معدّل تجاعيد وحدة المعالجة المركزية (CPU) من ARCore
عندما تكون جلسة ARCore نشطة، يجب أن يشارك تطبيقك وحدة معالجة مركزية (CPU) ووحدة معالجة رسومات محدودة للأجهزة الجوّالة. الموارد من خلال ARCore. يمكن للتطبيقات المرتبطة بوحدة المعالجة المركزية (CPU) التنافس مع موارد وحدة المعالجة المركزية. مطلوبة لميزة تتبُّع الحركة.
للتحقق من أن ARCore الأقلمة والربط المتزامنة قدرة (SLAM) على العمل بشكل طبيعي، تحقق من أن "تردد VIO منخفض" رسالة لا يظهر ضِمن سجلّات جهاز Android:
adb logcat | grep 'VIO frequency low'
تجنُّب فقدان وحدة المعالجة المركزية (CPU) من خلال ARCore
عندما تكون جلسة ARCore نشطة، يجب أن يشارك تطبيقك وحدة معالجة مركزية (CPU) ووحدة معالجة رسومات محدودة للأجهزة الجوّالة. باستخدام ARCore. يمكن للتطبيقات المرتبطة بوحدة المعالجة المركزية (CPU) التنافس مع موارد وحدة المعالجة المركزية. مطلوبة لميزة تتبُّع الحركة.
إنشاء قواعد بيانات "الصور المعزَّزة" مسبقًا
عند الإمكان، أنشئ قواعد بيانات "الصور المجمّعة" مسبقًا في وقت التطوير. إذا كان من الضروري إنشاء قواعد بيانات صور معززة في وقت التشغيل أو بشكل ديناميكي إضافة صور إلى قاعدة بيانات حالية، فتأكد من إضافة صور في خلفية لتجنُّب حظر سلسلة واجهة المستخدم الرئيسية.
الحدّ من عدد أحداث بث الكاميرا المطلوبة
عند استخدام كاميرا Java المشتركة، يمكن للتطبيقات إجراء ما يلي: طلب عمليات بث إضافية للصور على وحدة المعالجة المركزية (CPU) أو وحدة معالجة الرسومات (GPU)