مرجع الهيكل vr_module

مرجع الهيكل vr_module

#include < vr.h >

حقول البيانات

البنية hw_module_t شائع
فارغ(* الحرف الأول )(هيكل vr_module *الوحدة النمطية)
فارغ(* set_vr_mode )(struct vr_module *module، تم تمكين المنطق)
فارغ * محفوظة [8-2]

وصف تفصيلي

قم بتطبيق HAL لتلقي عمليات الاسترجاعات عند استخدام تطبيق الواقع الافتراضي (VR). تتميز تطبيقات الواقع الافتراضي بعدد من متطلبات العرض والأداء الخاصة، بما في ذلك:

  • زمن استجابة منخفض للمستشعر - يجب أن يكون زمن الاستجابة الإجمالي من طرف إلى طرف من IMU، ومقياس التسارع، والجيروسكوب إلى رد الاتصال المرئي للتطبيق منخفضًا للغاية (أقل من 5 مللي ثانية عادةً). وهذا مطلوب لدعم مستشعر HIFI.
  • زمن استجابة منخفض للعرض - يجب أن يكون إجمالي زمن الوصول من طرف إلى طرف من استدعاءات سحب GPU إلى تحديث العرض الفعلي منخفضًا قدر الإمكان. ويتم تحقيق ذلك عن طريق استخدام SurfaceFlinger في وضع التخزين المؤقت الفردي، والتأكد من مزامنة مكالمات السحب مع فحص العرض بشكل صحيح. يتم كشف هذا السلوك عبر امتداد EGL للتطبيقات. انظر أدناه للحصول على امتدادات EGL اللازمة لهذا الغرض.
  • عرض منخفض الثبات - يجب ضبط إعدادات ثبات العرض على أدنى مستوى ممكن مع الحفاظ على سطوع معقول. بالنسبة للشاشة النموذجية التي تعمل بسرعة 60 هرتز، يجب أن تتم إضاءة وحدات البكسل لمدة <=3.5 مللي ثانية ليتم اعتبارها منخفضة الثبات. يؤدي هذا إلى تجنب الظلال أثناء الحركات في إعداد الواقع الافتراضي، ويجب تمكينه من Lights.h HAL عند ضبط BRIGHTNESS_MODE_LOW_PERSISTENCE.
  • الأداء المتسق لوحدة معالجة الرسومات ووحدة المعالجة المركزية - عند إعطاء عبء عمل مختلط لوحدة معالجة الرسومات/وحدة المعالجة المركزية لتطبيق VR مع دفعات من العمل على فترات منتظمة عدة مرات في الإطار، يجب أن تضمن جدولة وحدة المعالجة المركزية أن عمل سلسلة عرض التطبيق يتم تشغيله بشكل متسق خلال 1 مللي ثانية من الوقت المقرر، والانتهاء قبل نهاية نافذة السحب. ولتحقيق هذه الغاية، يجب حجز نواة وحدة المعالجة المركزية (CPU) واحدة فقط لسلسلة عرض تطبيق VR قيد التشغيل حاليًا أثناء وجوده في وضع VR، وإتاحتها في وحدة المعالجة المركزية "التطبيق العلوي". وبالمثل، يجب الحفاظ على وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) ومعدل تردد الناقل المناسب لضمان انتهاء عبء عمل العرض خلال الوقت المخصص لعرض كل إطار عندما يتم تعيين علامة POWER_HINT_SUSTAINED_PERFORMANCE في power.h HAL أثناء وجوده في وضع VR عندما يكون الجهاز في وضع التشغيل. لا يتم خنقها حراريا.
  • يجب أن تكون ملحقات EGL المطلوبة موجودة - أي إعدادات GPU مطلوبة للسماح بالإمكانيات المذكورة أعلاه مطلوبة، بما في ذلك ملحقات EGL: EGL_ANDROID_create_native_client_buffer وEGL_ANDROID_front_buffer_auto_refresh وEGL_EXT_protected_content وEGL_KHR_mutable_render_buffer وEGL_KHR_reusable_sync وEGL_KHR_wait_sync.
  • التقارير الحرارية الدقيقة - يجب الإبلاغ عن درجات الحرارة والحدود الحرارية الدقيقة في Thermal.h HAL. على وجه التحديد، يجب الإبلاغ بدقة عن درجة حرارة الجلد الحالية لجهاز DEVICE_TEMPERATURE_SKIN ويجب أن يبلغ vr_throttling_threshold الذي تم الإبلاغ عنه لهذا الجهاز بدقة عن حد درجة الحرارة الذي يتجاوزه المنظم الحراري للجهاز بخنق وحدة المعالجة المركزية و/أو وحدة معالجة الرسومات و/أو معدلات تردد الناقل أقل من الحد الأدنى اللازم لأداء متسق ( انظر النقطة السابقة).

بشكل عام، من المتوقع أن يستخدم البائعون الذين يقومون بتطبيق HAL هذا set_vr_mode كتلميح لتمكين ضبط الأداء الخاص بالواقع الافتراضي المطلوب لأي من المتطلبات المذكورة أعلاه، ولتشغيل أي ميزات جهاز مثالية لأوضاع عرض الواقع الافتراضي. قد لا يفعل استدعاء set_vr_mode أي شيء ببساطة في حالة عدم توفر أي تحسينات أو ضرورية لتلبية المتطلبات المذكورة أعلاه.

لن يتم استدعاء أية أساليب في طبقة تصديق الأجهزة (HAL) بشكل متزامن من إطار عمل Android.

التعريف في السطر 82 من الملف vr.h .

التوثيق الميداني

البنية hw_module_t المشتركة

الطرق الشائعة للوحدة. يجب أن يكون هذا هو العضو الأول في vr_module حيث يمكن لمستخدمي هذه البنية إرسال hw_module_t إلى مؤشر vr_module في السياقات حيث من المعروف أن hw_module_t يشير إلى vr_module .

التعريف في السطر 89 من الملف vr.h .

باطلة (* init) (بنية vr_module *module)

طريقة ملائمة لتطبيق HAL لإعداد أي حالة مطلوبة عند بدء تشغيل وقت التشغيل. يتم استدعاء هذا مرة واحدة من VrManagerService أثناء مرحلة التمهيد الخاصة به. لن يتم استدعاء أية أساليب من طبقة توصيف الأجهزة (HAL) هذه قبل الحرف الأول.

التعريف في السطر 96 من الملف vr.h .

باطلة* محفوظة[8-2]

التعريف في السطر 110 من الملف vr.h .

باطلة (* set_vr_mode) (بنية vr_module * الوحدة النمطية، تم تمكين المنطق)

اضبط حالة وضع VR. الحالات المحتملة للمعلمة الممكّنة هي: خطأ - تم تعطيل وضع VR، قم بإيقاف تشغيل جميع الإعدادات الخاصة بالواقع الافتراضي. صحيح - تم تمكين وضع VR، قم بتشغيل كافة الإعدادات الخاصة بـ VR.

يتم استدعاء هذا عندما يدخل نظام Android في وضع VR أو يخرج منه. سيحدث هذا عادةً عندما يقوم المستخدم بالتبديل من أو إلى تطبيق الواقع الافتراضي الذي يقوم بالعرض المجسم.

التعريف في السطر 107 من الملف vr.h .


تم إنشاء وثائق هذه البنية من الملف التالي:
  • الأجهزة/libhardware/تشمل/الأجهزة/ vr.h