Unity bietet verschiedene leistungsbezogene Tools und APIs. Mit diesen Tools können Sie Leistungsmesswerte messen und überwachen, eine Aktualisierungsrate für die Anzeige festlegen und analysieren, wie Ihre Szene Frame für Frame gerendert wird.
Leistungsmesswerte analysieren und im Blick behalten
Das Paket Unity OpenXR: Android XR bietet umfassende Leistungsdaten, mit denen Sie Ihre App überwachen und optimieren können.
Sie können über die Performance Metrics API auf diese Messwerte zugreifen.
Vorteile
- Echtzeitüberwachung der Speichernutzung sowie der CPU- und GPU-Leistung.
- Systemstatistiken aus Compositor- und Laufzeitschichten.
- Auswirkungen von Optimierungsänderungen messen
Um die besten Ergebnisse zu erzielen, sollten Sie diese Messwerte aktiv im Blick behalten, während Sie an Ihrer App arbeiten und die Leistung optimieren:
AndroidXRPerformanceMetrics androidXRPerformanceMetrics = OpenXRSettings.Instance.GetFeature<AndroidXRPerformanceMetrics>();
string values = "";
if (m_Display != null && androidXRPerformanceMetrics != null && androidXRPerformanceMetrics.supportedMetricPaths != null)
foreach (var metric in androidXRPerformanceMetrics.supportedMetricPaths)
{
float stat;
XRStats.TryGetStat(m_Display, metric, out stat);
values += string.Format("{0}: {1:F2}\n", metric, stat);
}
Displayaktualisierungsrate angeben
Mit Display Refresh Rate (Aktualisierungsrate des Displays) kann Ihre App höhere oder niedrigere Frameraten von der Laufzeitumgebung anfordern, die das System nach Möglichkeit berücksichtigt.
Vorteile
- Aktualisierungsraten basierend auf der Komplexität der Szene anpassen
- Stromverbrauch bei helleren Szenen optimieren
- Dynamische Anpassung an die Anforderungen der App
Diese Funktion aktivieren
Verwenden Sie die Unity API, um auf die XR_FB_display_refresh_rate
-Erweiterung zuzugreifen.
Du kannst Frameraten wie 72 fps, 90 fps oder 120 fps anfordern. Das System wechselt dann zu der angeforderten Rate, wenn die Hardware dies zulässt und die thermischen Bedingungen es erlauben.
Unity-Frame-Debugger aktivieren
Der Frame Debugger ist das integrierte Tool von Unity, mit dem Sie analysieren können, wie Ihre Szene Frame für Frame gerendert wird. Mit diesem Tool können Sie die Abfolge der Draw-Aufrufe sehen und sie durchlaufen, um das Rendering-Verhalten nachzuvollziehen.
Vorteile
- Rendern-Engpässe und unerwartete Zeichenaufrufe identifizieren
- Prüfen Sie, ob SRP Batcher korrekt funktioniert (suchen Sie nach Einträgen vom Typ „RenderLoopNewBatcher“).
- Prüfen Sie das Batching für den GPU Resident Drawer (suchen Sie nach Einträgen vom Typ „Hybrid Batch Group“).
- Reihenfolge der Rendering-Vorgänge
Diese Funktion aktivieren
- Klicken Sie im Unity-Hauptmenü auf Window > Analysis > Frame Debugger (Fenster > Analyse > Frame-Debugger).
- Klicken Sie auf Aktivieren, um mit der Erfassung von Framedaten zu beginnen.
- Sie können Draw-Aufrufe durchgehen, um zu sehen, was wann gerendert wird.