Fenster optimieren – MRTK2

Das MRTK-Optimierungsfenster ist ein Hilfsprogramm, mit dem Sie ein Mixed Reality-Projekt automatisieren und informieren können, um eine optimale Leistung in Unity zu erzielen. Dieses Tool konzentriert sich im Allgemeinen auf Renderingkonfigurationen, die beim Festlegen auf die richtige Voreinstellung Millisekunden der Verarbeitung speichern können.

Hinweis

Das Optimierungsfenster kann geöffnet werden, indem Sie im Unity-Editor im oberen Leistenmenü zu Mixed Reality>Utilities>Optimize Window navigieren.

Das Active Build-Ziel ist die Buildplattform , die derzeit vom Projekt für die Kompilierung bestimmt wird.

Das Leistungsziel weist das Optimierungstool an, welche Art von Geräteendpunkten zielt.

  • AR-Headsets sind mobile Geräte, z. B. HoloLens
  • VR Standalone sind Mobile-Klassengeräte, z. B. Oculus Go oder Quest
  • VR Tethered sind PC-gestützte Geräte, z. B. samsung Odyssey, Oculus Rift oder HTC Vive usw.

MRTK Optimize Window Performance Target

Festlegen von Optimierungen

Auf der Registerkarte "Einstellungenoptimierung" werden einige der wichtigen Renderingkonfigurationen für ein Unity-Projekt behandelt. In diesem Abschnitt können Sie automatisieren und informieren, welche Einstellungen für die besten Ergebnisse geändert werden sollen.

Ein grünes Häkchen bedeutet, dass ein optimaler Wert in der Projekt/Szene für diese bestimmte Einstellung konfiguriert wurde. Ein gelbes Warnungssymbol gibt an, dass die aktuelle Konfiguration verbessert werden kann. Durch Klicken auf die zugeordnete Schaltfläche in einem bestimmten Abschnitt wird diese Einstellung im Unity-Projekt/der Szene automatisch konfiguriert, um einen optimalen Wert zu erhalten.

MRTK Optimize Window Settings

Rendern einzelner Passinstanzen

Single Pass Instanced Rendering ist der effizienteste Renderingpfad für Mixed Reality-Anwendungen. Mit dieser Konfiguration wird sichergestellt, dass die Renderpipeline nur einmal für beide Augen ausgeführt wird und dass Gezeichnetaufrufe über beide Augen hinweg instanziert werden.

Tiefenpufferfreigabe

Um die Stabilisierung des Hologramms zu verbessern, können Entwickler den Tiefenpuffer der Anwendung freigeben, der die Plattforminformationen darüber liefert, wo und welche Hologramme in der gerenderten Szene stabilisiert werden sollen.

Tiefenpufferformat

Darüber hinaus wird es für AR-Headsets empfohlen, ein 16-Bit-Tiefenformat zu verwenden, wenn die Tiefenpufferfreigabe im Vergleich zu 24-Bit aktiviert wird. Dies bedeutet eine geringere Genauigkeit, spart jedoch die Leistung. Wenn z-Kampf auftritt, da es weniger Genauigkeit bei der Berechnung der Tiefe für Pixel gibt, empfiehlt es sich, die weit entfernte Clipebene näher an die Kamera zu verschieben (z. B. 50m anstelle von 1000m).

Hinweis

Wenn Sie das 16-Bit-Tiefenformat verwenden, funktioniert der erforderliche Schablonenpuffer nicht, da Unity in dieser Einstellung keinen Schablonenpuffer erstellt . Wenn Sie das 24-Bit-Tiefenformat umgekehrt auswählen, wird in der Regel ein 8-Bit-Schablonenpuffer erstellt, sofern zutreffend auf der Endpunktgrafikplattform.

Wenn Sie eine Mask-Komponente verwenden, die den Schablonenpuffer erfordert, sollten Sie stattdessen RectMask2D verwenden, was den Schablonenpuffer nicht erfordert und somit in Verbindung mit einem 16-Bit-Tiefenformat verwendet werden kann.

Globale Echtzeitbeleuchtung

Die globale Echtzeitbeleuchtung in Unity kann fantastische ästhetische Ergebnisse liefern, aber auf sehr hohen Kosten. Globale Beleuchtungsbeleuchtung ist in Mixed Reality sehr teuer und daher wird empfohlen, dieses Feature in der Entwicklung zu deaktivieren.

Hinweis

Globale Beleuchtungseinstellungen in Unity werden pro Szene und nicht einmal im gesamten Projekt festgelegt.

Szenenanalyse

Auf der Registerkarte " Szenenanalyse " werden Entwickler darüber informiert, welche Elemente derzeit in der Szene wahrscheinlich die meisten Auswirkungen auf die Leistung haben.

MRTK Optimize Window Settings scene Analysis

Beleuchtungsanalyse

In diesem Abschnitt werden die Anzahl der Lichter untersucht, die sich derzeit in der Szene befinden, sowie alle Lichter, die Schatten deaktivieren sollten. Schattenwandlung ist ein sehr teurer Vorgang.

Polygonanzahlanalyse

Das Tool stellt auch Polygonanzahlsstatistiken bereit. Es kann sehr hilfreich sein, schnell zu identifizieren, welche GameObjects die höchste Polygonkomplexität in einer bestimmten Szene haben, um auf Optimierungen zu abzielen.

Unity UI-Raycastanalyse

Grafik-Raycastvorgänge werden pro Zeiger in MRTK ausgeführt, um zu ermitteln, ob alle Unity UI-Elemente im Fokus sind. Diese Raycasts können ziemlich teuer sein und zur Verbesserung der Leistung beitragen, UI-Elemente, die nicht in den Ergebnissen zurückgegeben werden müssen, sollten als Raycast-Ziele deaktiviert werden. Jedes Graphic-Element verfügt über eine Graphic.raycastTarget Eigenschaft. Dieses Tool sucht nach Text-UI-Elementen, die diese Eigenschaft aktiviert haben, und daher sind wahrscheinlich Kandidaten deaktiviert.

Shaderanalyse

Der Unity Standard-Shader kann sehr hochwertige visuelle Ergebnisse für Spiele erzeugen, ist jedoch nicht allgemein für die Leistungsanforderungen von Mixed Reality-Anwendungen geeignet, insbesondere, da solche Anwendungen im Allgemeinen GPU-begrenzungen sind. Daher wird es Entwicklern empfohlen, den MRTK Standard-Shader zu verwenden, um ästhetische grafische Features mit Leistung zu ausgleichen & .

Auf der Registerkarte "Shaderanalyse" wird der Ordner "Asset" des aktuellen Projekts auf Materialien mit dem Unity Standard-Shader oder ggf. alle Materialien überprüft, die nicht Mixed Reality Toolkit bereitgestellten Shader verwenden. Nach der Entdeckung können Entwickler alle Materialien konvertieren oder einzeln mithilfe der entsprechenden Schaltflächen konvertieren.

MRTK Optimize Window Settings shader analysis

Siehe auch