تحسين معدّلات اللقطات وتقليل حمل وحدة معالجة الرسومات وتقليل وقت استجابة العرض باستخدام إعدادات Android XR Extensions

توفّر Unity بعض الميزات المتعلّقة بالأداء والمخصّصة لأجهزة Android XR، والتي تتطلّب حزمة Android XR Extensions. فعِّل هذه الميزات لتحسين معدّلات عرض اللقطات وتقليل حمل وحدة معالجة الرسومات من خلال ميزتَي spacewarp وأخذ العينات الفرعية في Vulkan، ولتقليل وقت استجابة العرض المتتبّع باستخدام ميزة late latching.

المتطلّبات الأساسية

قبل اتّباع هذه الإرشادات، تأكَّد من إثبات ملكية حسابك واستيفاء المتطلبات الأساسية التالية:

تفعيل ميزة Spacewarp

URP Application Spacewarp هي عملية تحسين OpenXR تساعد في الحفاظ على معدلات إطارات عالية من خلال توليد كل إطارين متتاليين. تستخدم هذه التقنية متجهات الحركة وبيانات العمق من اللقطات السابقة لتوقّع موضع انتقال وحدات البكسل، ما يقلّل من استهلاك الطاقة وقدرة المعالجة.

المزايا

  • يقلّل من معدّل استهلاك وحدة معالجة الرسومات من خلال تركيب لقطات بديلة.
  • يقلّل بشكل كبير من الطاقة الحاسوبية واستهلاك الطاقة.
  • يستخدم إعادة العرض لتقليل وقت الاستجابة بين حركات المستخدم وتحديثات العرض.

تفعيل هذه الميزة

  1. من القائمة الرئيسية في Unity، انقر على تعديل > إعدادات المشروع.
  2. وسِّع قسم إدارة المكوّنات الإضافية للواقع الممتد (XR).
  3. اختَر علامة التبويب التي تتوافق مع جهاز XR الحالي.
  4. انتقِل إلى قسم مجموعات ميزات OpenXR.
  5. في قسم جميع الميزات، فعِّل Application SpaceWarp.

    إعدادات Unity لـ spacewarp

تفعيل أخذ عيّنات Vulkan

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

المزايا

  • يوفّر تحسّنًا متفاوتًا عند دمجه مع ميزة "العرض البؤري"، استنادًا إلى شكل الجهاز.
  • يقلّل من التمويه في المناطق المحيطية من خلال فلترة ثنائية الخط.
  • تتيح هذه الميزة عرض المحتوى بكفاءة بمعدل متغير في مناطق مختلفة من الشاشة.

تفعيل هذه الميزة

  1. من القائمة الرئيسية في Unity، انقر على تعديل > إعدادات المشروع.
  2. وسِّع قسم إدارة المكوّن الإضافي XR، ثم انقر على OpenXR.
  3. انقر على رمز الترس بجانب Android XR (الإضافات): إدارة الجلسات.
  4. فعِّل تقليل عدد العيّنات (Vulkan).

    إعدادات Unity لتقليل دقة Vulkan

تفعيل ميزة "التثبيت المتأخر"

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

المزايا

  • يقلّل بشكل كبير من وقت استجابة الحركة إلى الضوء (MTP).
  • تحسِّن هذه الميزة راحة المستخدم وتقلّل من الشعور بدوار الحركة.
  • تعزيز الثبات والدقة

تفعيل هذه الميزة

لتفعيل ميزة "التثبيت المتأخّر"، فعِّلها في وقت التشغيل لتطبيقك:

private XRDisplaySubsystem xrDisplay;

private XRDisplaySubsystem.LateLatchNode lateLatchNode = XRDisplaySubsystem.LateLatchNode.Head;

void Start()
{
    List<XRDisplaySubsystem> xrDisplaySubsystems = new();

    SubsystemManager.GetSubsystems(xrDisplaySubsystems);

    if (xrDisplaySubsystems.Count >= 1)
    {
        xrDisplay = xrDisplaySubsystems[0];
    }
}

void Update()
{
    if (xrDisplay != null)
    {
        transform.position += new Vector3(Mathf.Epsilon, 0, 0);

        Quaternion rot = transform.rotation;

        rot.x += Mathf.Epsilon;

        transform.rotation = rot;

        xrDisplay.MarkTransformLateLatched(transform, lateLatchNode);
    }
}