Fönstret Optimera

MRTK-optimeringsfönstret är ett verktyg som hjälper dig att automatisera och informera i processen med att konfigurera ett mixed reality-projekt för bästa prestanda i Unity. Det här verktyget fokuserar vanligtvis på renderingskonfigurationer som när de ställs in på rätt förinställning kan spara millisekunders bearbetning.

Anteckning

Du kan öppna fönstret Optimera genom att gå Mixed Reality fönstret > > Verktygsoptimering från den översta menyraden i Unity-redigeraren.

Active Build Target är den byggplattform som projektet för närvarande kompilerar.

Prestandamålet instruerar optimeringsverktyget vilken typ av enhetsslutpunkter som ska vara mål.

  • AR-headset är mobila enheter, till exempel HoloLens
  • Fristående VR är mobila enheter, till exempel Oculus Go eller Android
  • VR Tethered är PC-drivna enheter, till exempel Samsung Driven, Oculus Rift eller GALAXY Vive osv.

MRTK-optimerat mål för fönsterprestanda

Ange optimeringar

Fliken Optimering av inställningar omfattar några av de viktiga renderingskonfigurationerna för ett Unity-projekt. Det här avsnittet kan hjälpa dig att automatisera och informera dig om vilka inställningar som ska ändras för bästa resultat.

En grön bikon innebär att ett optimalt värde har konfigurerats i projektet/scenen för just den här inställningen. En gul varningsikon anger att den aktuella konfigurationen kan förbättras. Om du klickar på den associerade knappen i ett visst avsnitt konfigureras inställningen automatiskt i Unity-projektet/-scenen till ett mer optimalt värde.

Fönstret MRTK-optimering Inställningar

Rendering med enkelinstans

Single Pass instanced-rendering är den mest effektiva återgivningsvägen för program med mixad verklighet. Den här konfigurationen säkerställer att renderingspipelinen endast körs en gång för båda ögonen och att rita anrop instanseras över båda ögonen.

Delning av djupbuffert

För att förbättra hologramstabiliseringkan utvecklare dela programmets djupbuffert som ger plattformsinformation om var och vilka hologram som ska stabiliseras i den renderade scenen.

Format för djupbuffert

För AR-headset rekommenderar vi dessutom att du använder ett 16-bitars djupformat när du aktiverar djupbuffertdelning jämfört med 24-bitars. Det innebär lägre precision men lägre prestanda. Om z-fighting inträffar eftersom det finns mindre precision vid beräkning av djup för bildpunkter rekommenderar vi att du flyttar det avlägsna klippplanet närmare kameran (t.ex. 50 m i stället för 1000 m).

Anteckning

Om du använder formatet 16-bitars djup fungerar inte stencilbufferten nödvändiga effekter eftersom Unity inte skapar en stencilbuffert i den här inställningen. Om du väljer 24-bitars djupformat på samma sätt skapas vanligtvis en 8-bitarsstencilbuffert , om tillämpligt på slutpunktsgrafikplattformen.

Om du använder en maskkomponent som kräver stencilbufferten bör du överväga att använda RectMask2D i stället, som inte kräver stencilbufferten och därför kan användas tillsammans med ett 16-bitars djupformat.

Global miljö i realtid

Globala realtidsbelysningar i Unity kan ge fantastiska estetiskt resultat men till en mycket hög kostnad. Global belysning är väldigt dyr i mixad verklighet och därför rekommenderar vi att du inaktiverar den här funktionen under utvecklingen.

Anteckning

Globala inställningar i Unity anges per scen och inte en gång i hela projektet.

Scenanalys

Fliken Scenanalys är utformad för att informera utvecklare om vilka element som för närvarande finns i scenen som sannolikt kommer att ha störst inverkan på prestanda.

MRTK Optimize Window Inställningar scene Analysis

Ljusanalys

I det här avsnittet undersöker vi antalet lampor som för närvarande finns i scenen, samt eventuella lampor som ska inaktivera skuggor. Skuggformning är en väldigt dyr åtgärd.

Analys av antal polygoner

Verktyget tillhandahåller också statistik över antal polygoner. Det kan vara mycket användbart att snabbt identifiera vilka GameObjects som har den högsta polygonkomplexiteten i en viss scen som mål för optimeringar.

Raycast-analys i Unity-användargränssnittet

Raycast-grafikåtgärder utförs per pekare i MRTK för att avgöra om några Unity UI-element är i fokus. Dessa raycasts kan vara väldigt dyra och för att förbättra prestandan bör ui-element som inte behöver returneras i resultaten inaktiveras som raycast-mål. Varje grafiskt element har en Graphic.raycastTarget -egenskap. Det här verktyget söker efter textgränssnittselement som har den här egenskapen aktiverad och därför sannolikt kommer att inaktiveras.

Analys av skuggare

Unity Standard-skuggaren kan ge mycket högkvalitativa visuella resultat för spel, men lämpar sig vanligtvis inte för prestandabehoven för mixed reality-program, särskilt eftersom sådana program vanligtvis är GPU-kopplade. Därför rekommenderar vi att utvecklare använder MRTK Standard-skuggaren för att balansera estetiskt & grafiska funktioner med prestanda.

Fliken Shader Analysis söker igenom det aktuella projektets tillgångsmapp efter material med Unity Standard-skuggaren eller, om så önskas, alla material som inte använder Mixed Reality Toolkit som skuggare. När det har identifierats kan utvecklare konvertera allt material eller konvertera individuellt med lämpliga knappar.

MRTK Optimize Window Inställningar shader analysis

Se även