Unity bietet einige leistungsbezogene Funktionen, die speziell für Android XR entwickelt wurden und das Android XR Extensions-Paket erfordern. Aktivieren Sie diese Funktionen, um die Frameraten zu verbessern und die GPU-Last durch Spacewarp und Vulkan-Subsampling zu reduzieren. Außerdem können Sie die Latenz beim Rendern durch Late Latching verringern.
Voraussetzungen
Bevor Sie dieser Anleitung folgen, müssen Sie die folgenden Voraussetzungen erfüllt haben:
- Führen Sie alle Schritte zum Einrichten Ihres Projekts in Unity aus.
- Importieren Sie das Android XR-Erweiterungspaket für Unity.
Spacewarp aktivieren
URP Application Spacewarp ist eine OpenXR-Optimierung, die dazu beiträgt, hohe Frameraten aufrechtzuerhalten, indem jeder zweite Frame synthetisiert wird. Bei dieser Technik werden Bewegungsvektoren und Tiefendaten aus vorherigen Frames verwendet, um vorherzusagen, wohin sich Pixel bewegen sollten. Dadurch werden Rechenleistung und Energieverbrauch reduziert.
Vorteile
- Reduziert die GPU-Rendering-Arbeitslast durch Synthetisieren alternativer Frames.
- Der Rechenaufwand und der Energieverbrauch werden erheblich reduziert.
- Durch die Reprojektion wird die Latenz zwischen Nutzerbewegungen und Display-Aktualisierungen reduziert.
Diese Funktion aktivieren
- Klicken Sie im Unity-Hauptmenü auf Edit > Project Settings (Bearbeiten > Projekteinstellungen).
- Maximieren Sie den Bereich XR Plug-in Management (XR-Plug-in-Verwaltung).
- Wählen Sie den Tab aus, der Ihrem aktuellen XR-Gerät entspricht.
- Rufen Sie den Abschnitt OpenXR Feature Groups auf.
Aktivieren Sie im Abschnitt Alle Funktionen die Option Application SpaceWarp.
Vulkan-Subsampling aktivieren
Mit Vulkan-Subsampling können Bilder mit variabler Dichte mithilfe von Fragment Density Maps erstellt und gesampelt werden. Mit dieser Vulkan-Funktion können verschiedene Bereiche des Bildschirms mit unterschiedlichen Auflösungen gerendert und in den Arbeitsspeicher übertragen werden. Das ist besonders nützlich für das Foveated Rendering, bei dem periphere Bereiche eine niedrigere Auflösung verwenden können.
Vorteile
- Bietet in Kombination mit Foveated Rendering je nach Formfaktor unterschiedliche Verbesserungen.
- Reduziert Aliasing in peripheren Bereichen durch bilineares Filtern.
- Ermöglicht effizientes Rendering mit variabler Rate in verschiedenen Bildschirmbereichen.
Diese Funktion aktivieren
- Klicken Sie im Unity-Hauptmenü auf Edit > Project Settings (Bearbeiten > Projekteinstellungen).
- Maximieren Sie den Bereich XR Plug-in Management (XR-Plug-in-Verwaltung) und klicken Sie dann auf OpenXR.
- Klicken Sie neben Android XR (Extensions): Session Management auf das Zahnradsymbol.
Aktivieren Sie Subsampling (Vulkan).

Late Latching aktivieren
Late Latching ist eine Technik, die die Verzögerung zwischen der physischen Bewegung des Nutzers und der daraus resultierenden visuellen Änderung auf dem Display minimiert. Dadurch kann die Kopfposition erst spät in der Pipeline zur Frame-Generierung aktualisiert werden, was sowohl den Komfort als auch die wahrgenommene Framerate Ihrer XR-Apps verbessert. Dazu wird die Eingabelatenz um fast eine ganze Frame-Zeit reduziert.
Vorteile
- Die Motion-to-Photon-Latenz (MTP) wird deutlich reduziert.
- Dies erhöht den Tragekomfort und kann die Symptome der Bewegungskrankheit verbessern.
- Verbessert die Stabilität und Präzision.
Diese Funktion aktivieren
So aktivieren Sie „Late Latching“:
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);
}
}