Finestra Di ottimizzazione - MRTK2
La finestra di ottimizzazione MRTK è un'utilità che consente di automatizzare e informare nel processo di configurazione di un progetto di realtà mista per ottenere prestazioni ottimali in Unity. Questo strumento è in genere incentrato sulle configurazioni di rendering che, se impostate sul set di impostazioni corretto, possono risparmiare millisecondi di elaborazione.
Nota
È possibile aprire la finestra Ottimizza passando a Realtà mista>Utilities>Optimize Window dal menu della barra superiore nell'editor di Unity.
La destinazione di compilazione attiva è la piattaforma di compilazione attualmente destinata al progetto per la compilazione.
Target prestazioni indica allo strumento di ottimizzazione il tipo di endpoint del dispositivo di destinazione.
- I visori VR AR sono dispositivi di classe mobile, ad esempio HoloLens
- Vr Standalone sono dispositivi di classe mobile, ad esempio Oculus Go o Quest
- VR Tethered sono dispositivi basati su PC, ad esempio SamsungDissea, Oculus Rift o HTC Vive ecc.
Impostazione delle ottimizzazioni
La scheda di ottimizzazione delle impostazioni illustra alcune delle importanti configurazioni di rendering per un progetto Unity. Questa sezione consente di automatizzare e informare l'utente delle impostazioni da modificare per ottenere risultati con prestazioni ottimali.
Un'icona di spunta verde indica che un valore ottimale è stato configurato nel progetto/scena per questa impostazione specifica. Un'icona di avviso gialla indica che la configurazione corrente può essere migliorata. Se si fa clic sul pulsante associato in una determinata sezione, tale impostazione verrà configurata automaticamente nel progetto/scena unity su un valore più ottimale.
Rendering con istanza a passaggio singolo
Il rendering con istanze a passaggio singolo è il percorso di rendering più efficiente per le applicazioni di realtà mista. Questa configurazione garantisce che la pipeline di rendering venga eseguita una sola volta per entrambi gli occhi e che le chiamate di disegno vengano eseguite su entrambi gli occhi.
Condivisione del buffer di profondità
Per migliorare la stabilizzazione degli ologrammi, gli sviluppatori possono condividere il buffer di profondità dell'applicazione, che fornisce informazioni sulla piattaforma su dove e quali ologrammi stabilizzare nella scena sottoposta a rendering.
Formato del buffer di profondità
Inoltre, per i visori VR AR, è consigliabile usare un formato di profondità a 16 bit quando si abilita la condivisione del buffer di profondità rispetto a 24 bit. Ciò significa una precisione inferiore, ma consente di risparmiare sulle prestazioni. Se si verifica la lotta z perché è presente una minore precisione nel calcolo della profondità per i pixel, è consigliabile spostare il piano di clip lontano più vicino alla fotocamera (ad esempio: 50m anziché 1000m).
Nota
Se si usa il formato di profondità a 16 bit, gli effetti obbligatori del buffer degli stencil non funzioneranno perché Unity non crea un buffer stencil in questa impostazione. Se si seleziona un formato di profondità a 24 bit , in genere si creerà un buffer stencil a 8 bit, se applicabile nella piattaforma grafica dell'endpoint.
Se si usa un componente Mask che richiede il buffer degli stencil, è consigliabile usare invece RectMask2D , che non richiede il buffer degli stencil e quindi può essere usato in combinazione con un formato di profondità a 16 bit.
Illuminazione globale in tempo reale
L'illuminazione globale in tempo reale in Unity può offrire risultati estetici fantastici, ma a un costo molto elevato. L'illuminazione globale è molto costosa nella realtà mista e pertanto è consigliabile disabilitare questa funzionalità in fase di sviluppo.
Nota
Le impostazioni di illuminazione globale in Unity vengono impostate per scena e non una sola volta nell'intero progetto.
Analisi della scena
La scheda Analisi scena è progettata per informare gli sviluppatori sugli elementi attualmente presenti nella scena con maggiore impatto sulle prestazioni.
Analisi dell'illuminazione
Questa sezione esaminerà il numero di luci attualmente presenti nella scena, nonché tutte le luci che devono disabilitare le ombre. Il shadow casting è un'operazione molto costosa.
Analisi del conteggio dei poligoni
Lo strumento fornisce anche le statistiche relative al conteggio dei poligoni. Può essere molto utile identificare rapidamente gli oggetti GameObject con la massima complessità poligono in una determinata scena per l'ottimizzazione.
Analisi raycast dell'interfaccia utente di Unity
Le operazioni raycast grafiche vengono eseguite per ogni puntatore in MRTK per determinare se gli elementi dell'interfaccia utente di Unity sono in stato attivo. Questi raycast possono essere piuttosto costosi e per migliorare le prestazioni, gli elementi dell'interfaccia utente che non devono essere restituiti nei risultati devono essere disabilitati come destinazioni raycast. Ogni elemento Graphic ha una Graphic.raycastTarget
proprietà . Questo strumento cercherà gli elementi dell'interfaccia utente di testo con questa proprietà abilitata e pertanto è probabile che i candidati siano disabilitati.
Analisi shader
Lo shader Standard di Unity può produrre risultati visivi di alta qualità per i giochi, ma in genere non è più adatto per le esigenze di prestazioni delle applicazioni di realtà mista, soprattutto perché tali applicazioni sono generalmente vincolate da GPU. Pertanto, è consigliabile per gli sviluppatori utilizzare lo shader MRTK Standard per bilanciare l'estetica & caratteristiche grafiche con le prestazioni.
La scheda Analisi shader analizza la cartella Asset del progetto corrente per individuare i materiali usando lo shader Standard di Unity o, se lo si desidera, tutti i materiali che non usano gli shader forniti da Realtà mista Toolkit. Una volta individuato, gli sviluppatori possono convertire tutti i materiali o convertirli singolarmente usando i pulsanti appropriati.