Unity menyediakan beberapa fitur terkait performa yang khusus untuk Android XR dan memerlukan paket Android XR Extensions. Aktifkan fitur ini untuk meningkatkan kecepatan frame dan mengurangi beban GPU melalui spacewarp dan sub-sampling Vulkan, serta untuk mengurangi latensi rendering yang dilacak menggunakan late latching.
Prasyarat
Sebelum mengikuti panduan ini, pastikan Anda telah memverifikasi dan menyelesaikan prasyarat berikut:
- Selesaikan semua langkah untuk menyiapkan project di Unity.
- Impor paket Android XR Extensions for Unity.
Mengaktifkan spacewarp
URP Application Spacewarp adalah pengoptimalan OpenXR yang membantu mempertahankan kecepatan frame tinggi dengan mensintesis setiap frame lainnya. Teknik ini menggunakan vektor gerakan dan data kedalaman dari frame sebelumnya untuk memprediksi ke mana piksel harus bergerak, sehingga mengurangi daya komputasi dan penggunaan energi.
Manfaat
- Mengurangi beban kerja rendering GPU dengan menyintesis frame alternatif.
- Mengurangi daya komputasi dan konsumsi energi secara signifikan.
- Menggunakan reproyeksi untuk mengurangi latensi antara gerakan pengguna dan update tampilan.
Aktifkan fitur ini
- Dari menu utama Unity, klik Edit > Project Settings.
- Luaskan bagian XR Plug-in Management.
- Pilih tab yang sesuai dengan perangkat XR Anda saat ini.
- Buka bagian OpenXR Feature Groups.
Di bagian Semua Fitur, aktifkan Application SpaceWarp.
Mengaktifkan sub-sampling vulkan
Subsampling Vulkan memungkinkan gambar dibuat dan diambil sampelnya pada kepadatan variabel menggunakan Peta Kepadatan Fragmen. Fitur Vulkan ini memungkinkan berbagai area layar dirender dan ditransfer ke memori pada resolusi yang berbeda, yang sangat berguna untuk rendering foveated, di mana area periferal dapat menggunakan resolusi yang lebih rendah.
Manfaat
- Memberikan peningkatan yang bervariasi jika dikombinasikan dengan rendering foveated, bergantung pada faktor bentuk.
- Mengurangi aliasing di area periferal melalui pemfilteran bilinear.
- Memungkinkan rendering kecepatan variabel yang efisien di berbagai area layar.
Aktifkan fitur ini
- Dari menu utama Unity, klik Edit > Project Settings.
- Luaskan bagian XR Plug-in Management, lalu klik OpenXR.
- Klik ikon roda gigi di samping Android XR (Ekstensi): Pengelolaan Sesi.
Aktifkan Subsampling (Vulkan).
Mengaktifkan pelekatan terlambat
Penyambungan akhir adalah teknik yang meminimalkan jeda antara gerakan fisik pengguna dan perubahan visual yang dihasilkan pada layar. Hal ini memungkinkan postur kepala diperbarui di akhir pipeline pembuatan frame, yang meningkatkan kenyamanan dan kecepatan frame yang dirasakan dari aplikasi XR Anda. Hal ini dicapai dengan mengurangi latensi input hingga hampir seluruh waktu frame.
Manfaat
- Mengurangi latensi Motion-to-Photon (MTP) secara signifikan.
- Meningkatkan kenyamanan pengguna dan mengurangi mabuk gerak.
- Meningkatkan stabilitas dan presisi.
Aktifkan fitur ini
Untuk mengaktifkan pelekatan terlambat, aktifkan fitur saat runtime untuk aplikasi Anda:
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);
}
}