Fenster "Optimieren" – MRTK2

Das MRTK-Optimierungsfenster ist ein Hilfsprogramm zur Automatisierung und Information bei der Konfiguration eines Mixed Reality-Projekts für eine optimale Leistung in Unity. Dieses Tool konzentriert sich im Allgemeinen auf Renderingkonfigurationen, die bei Festlegung auf die richtige Voreinstellung Millisekunden der Verarbeitung sparen können.

Hinweis

Das Optimierungsfenster kann geöffnet werden, indem Sie im Unity-Editor über das Menü der oberen Leiste zu Mixed Reality>Optimierungsfenster> navigieren.

Das aktive Buildziel ist die Buildplattform, auf die das Projekt derzeit für die Kompilierung ausgerichtet ist.

Das Leistungsziel weist das Optimierungstool an, welche Art von Geräteendpunkten als Ziel verwendet werden soll.

  • AR-Headsets sind Geräte der mobilen Klasse, z. B. HoloLens
  • VR Standalone sind Geräte der mobilen Klasse, z. B. oculus Go oder Quest
  • VR Tethered sind PC-gestützte Geräte, wie die Samsung Odyssey, Oculus Rift oder HTC Vive usw.

MRTK- Optimierungsfenster-Leistungsziel

Festlegen von Optimierungen

Auf der Registerkarte "Einstellungsoptimierung" werden einige der wichtigen Renderingkonfigurationen für ein Unity-Projekt behandelt. Dieser Abschnitt kann Ihnen helfen, zu automatisieren und Sie darüber zu informieren, welche Einstellungen geändert werden sollten, um die besten Ergebnisse zu erzielen.

Ein grünes Häkchensymbol bedeutet, dass im Projekt/der Szene für diese bestimmte Einstellung ein optimaler Wert konfiguriert wurde. Ein gelbes Warnsymbol 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 bzw. der Unity-Szene automatisch auf einen optimalen Wert konfiguriert.

MRTK-Optimierungsfenstereinstellungen

Single Pass Instanced Rendering

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

Freigabe des Tiefenpuffers

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

Tiefenpufferformat

Darüber hinaus wird für AR-Headsets empfohlen, beim Aktivieren der Tiefenpufferfreigabe im Vergleich zu 24-Bit ein 16-Bit-Tiefenformat zu verwenden. Dies bedeutet eine geringere Genauigkeit, spart aber die Leistung. Wenn Z-Fighting auftritt, weil die Genauigkeit bei der Berechnung der Tiefe für Pixel geringer ist, empfiehlt es sich, die weit entfernte Clipebene näher an die Kamera zu verschieben (z. B. 50m statt 1000m).

Hinweis

Bei Verwendung des 16-Bit-Tiefenformats funktionieren die erforderlichen Schablonenpuffereffekte nicht, da Unity in dieser Einstellung keinen Schablonenpuffer erstellt . Wenn Sie umgekehrt das 24-Bit-Tiefenformat auswählen, wird in der Regel ein 8-Bit-Schablonenpuffer erstellt, falls zutreffend auf der Endpunktgrafikplattform.

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

Globale Echtzeitbeleuchtung

Globale Echtzeitbeleuchtung in Unity kann fantastische ästhetische Ergebnisse liefern, aber zu sehr hohen Kosten. Die globale Beleuchtung 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 für das gesamte Projekt festgelegt.

Szenenanalyse

Die Registerkarte Szenenanalyse soll Entwickler darüber informieren, welche Elemente derzeit in der Szene wahrscheinlich die meisten Auswirkungen auf die Leistung haben.

MRTK– Optimierung von Fenstereinstellungen – Szenenanalyse

Beleuchtungsanalyse

In diesem Abschnitt wird die Anzahl der derzeit in der Szene befindlichen Lichter sowie alle Lichter untersucht, die Schatten deaktivieren sollten. Schattenwurf ist ein sehr teurer Vorgang.

Polygonanzahlanalyse

Das Tool stellt auch Polygonanzahlstatistiken bereit. Es kann sehr hilfreich sein, schnell zu ermitteln, welche GameObjects die höchste Polygonkomplexität in einer bestimmten Szene aufweisen, die für Optimierungen verwendet werden soll.

Raycastanalyse der Unity-Benutzeroberfläche

Grafik raycast-Vorgänge werden pro Zeiger im MRTK ausgeführt, um zu bestimmen, ob Unity-UI-Elemente im Fokus sind. Diese Raycasts können recht teuer sein, und um die Leistung zu verbessern, sollten UI-Elemente, die nicht in den Ergebnissen zurückgegeben werden müssen, als Raycastziele deaktiviert werden. Jedes Graphic-Element verfügt über eine Graphic.raycastTarget -Eigenschaft. Dieses Tool sucht nach Text-UI-Elementen, für die diese Eigenschaft aktiviert ist und daher wahrscheinlich deaktiviert ist.

Shaderanalyse

Der Unity Standard-Shader kann visuelle Ergebnisse von sehr hoher Qualität für Spiele erzielen, ist aber im Allgemeinen nicht am besten für die Leistungsanforderungen von Mixed Reality-Anwendungen geeignet, zumal solche Anwendungen in der Regel gpugebunden sind. Daher wird Entwicklern empfohlen, den MRTK Standard-Shader zu verwenden, um Ästhetik & grafischen Features mit Leistung in Einklang zu bringen.

Auf der Registerkarte Shaderanalyse wird der Ressourcenordner des aktuellen Projekts mithilfe des Unity Standard-Shaders auf Materialien überprüft, oder wenn gewünscht, alle Materialien, die nicht Mixed Reality vom Toolkit bereitgestellten Shader verwendet werden. Nach der Entdeckung können Entwickler alle Materialien konvertieren oder mithilfe der entsprechenden Schaltflächen einzeln konvertieren.

MRTK Optimize Window Settings Shader Analysis

Siehe auch