Optimera fönster – MRTK2

MRTK-optimeringsfönstret är ett verktyg för att automatisera och informera i processen för att konfigurera ett mixed reality-projekt för bästa prestanda i Unity. Det här verktyget fokuserar vanligtvis på renderingskonfigurationer som när det är inställt på rätt förinställning kan spara millisekunder bearbetning.

Anteckning

Du kan öppna fönstret Optimera genom att gå till Mixed Reality>Verktyg>Optimera fönster från den översta menyn i Unity-redigeraren.

Active Build Target är den byggplattform som projektet för närvarande riktar in sig på för kompilering.

Prestandamålet instruerar optimeringsverktyget om vilken typ av enhetsslutpunkter som ska riktas.

  • AR-headset är enheter i mobilklass, till exempel HoloLens
  • FRISTÅENDE VR är mobila enheter, till exempel Oculus Go eller Quest
  • VR Tethered är PC-drivna enheter, till exempel Samsung Odyssey, Oculus Rift eller HTC Vive etc.

MRTK Optimera mål för fönsterprestanda

Ställa in optimeringar

Fliken för inställningsoptimering 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 kryssikon innebär att ett optimalt värde har konfigurerats i projektet/scenen för 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.

Inställningar för MRTK-optimering av fönster

Single Pass Instanced-återgivning

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

Delning av djupbuffert

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

Djupbuffertformat

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 sparar på prestanda. Om z-fighting uppstår eftersom det finns mindre precision i beräkning av djup för pixlar, rekommenderas det att flytta det avlägsna klippplanet närmare kameran (t.ex. 50m istället för 1000m).

Anteckning

Om du använder 16-bitars djupformat fungerar inte de effekter som krävs för stencilbufferten eftersom Unity inte skapar en stencilbuffert i den här inställningen. Om du väljer 24-bitars djupformat omvänt skapas vanligtvis en 8-bitars stencilbuffert, 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, vilket inte kräver stencilbufferten och därför kan användas tillsammans med ett 16-bitars djupformat.

Global belysning i realtid

Global belysning i realtid i Unity kan ge fantastiska estetiska resultat men till en mycket hög kostnad. Global belysning är mycket dyr i mixad verklighet och därför rekommenderas att inaktivera den här funktionen under utveckling.

Anteckning

Globala belysningsinstä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å prestandan.

Scenanalys för MRTK-optimering av fönsterinställningar

Ljusanalys

Det här avsnittet undersöker antalet lampor som för närvarande finns i scenen, samt eventuella lampor som ska inaktivera skuggor. Skugggjutning är en mycket dyr åtgärd.

Analys av polygonantal

Verktyget innehåller också polygonantalsstatistik. Det kan vara till stor hjälp att snabbt identifiera vilka GameObjects som har den högsta polygonkomplexiteten i en viss scen som mål för optimeringar.

Raycast-analys för Unity-användargränssnittet

Raycast-grafikåtgärder utförs per pekare i MRTK för att avgöra om några Unity-gränssnittselement är i fokus. Dessa raycasts kan vara ganska dyra och för att förbättra prestandan bör gränssnittselement 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 är troliga kandidater att inaktiveras.

Skuggningsanalys

Unity Standard-skuggningen kan ge visuella resultat av mycket hög kvalitet för spel, men passar vanligtvis inte bäst för prestandabehoven för program med mixad verklighet, särskilt eftersom sådana program vanligtvis är GPU-avgränsade. Därför rekommenderar vi att utvecklare använder MRTK Standard Shader för att balansera estetik & grafiska funktioner med prestanda.

Fliken Shader Analysis söker igenom det aktuella projektets tillgångsmapp efter material med hjälp av Unity Standard-skuggningen eller, om så önskas, allt material som inte använder Mixed Reality Toolkit-tillhandahållna skuggor. När utvecklare har identifierat det kan de konvertera allt material eller konvertera individuellt med hjälp av lämpliga knappar.

Analys av skuggning av MRTK-optimering av fönsterinställningar

Se även