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

أجهزة XR المعنيّة
تساعدك هذه الإرشادات في إنشاء تجارب لهذه الأنواع من أجهزة الواقع الممتد.
سماعات رأس بنظام الواقع الممتد
نظارات الواقع الممتد السلكية

توفّر 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 إنشاء الصور وأخذ عينات منها بكثافات متغيرة باستخدام "خرائط كثافة الأجزاء". تتيح ميزة 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);
    }
}