Finestra di ottimizzazione : MRTK2
La finestra di ottimizzazione MRTK è un'utilità per automatizzare e informare nel processo di configurazione di un progetto di realtà mista per prestazioni ottimali in Unity. Questo strumento si concentra in genere sulle configurazioni di rendering che, se impostate sul set di impostazioni corrette, possono salvare millisecondi di elaborazione.
Nota
La finestra Optimize può essere aperta 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.
La destinazione delle prestazioni indica allo strumento di ottimizzazione il tipo di endpoint del dispositivo di destinazione.
- I visori AR sono dispositivi di classe mobile, ad esempio HoloLens
- Vr Autonomo sono dispositivi di classe mobile, ad esempio Oculus Go o Quest
- VR Tethered sono dispositivi basati su PC, ad esempio Samsung Odyssey, Oculus Rift o HTC Vive ecc.
Impostazione delle ottimizzazioni
La scheda di ottimizzazione delle impostazioni illustra alcune delle configurazioni di rendering importanti per un progetto Unity. Questa sezione consente di automatizzare e informare le impostazioni da modificare per ottenere risultati ottimali.
Un'icona di controllo verde indica che un valore ottimale è stato configurato nel progetto/scena per questa specifica impostazione. Un'icona di avviso giallo indica che la configurazione corrente può essere migliorata. Facendo clic sul pulsante associato in una determinata sezione verrà configurato automaticamente tale impostazione nel progetto/scena di Unity su un valore più ottimale.
Rendering con istanza singola pass
Il rendering con istanza singola passa è 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 gli occhi e che le chiamate di disegno vengano eseguite in 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 le informazioni sulla piattaforma su dove e su quali ologrammi stabilizzarsi nella scena di rendering.
Formato del buffer di profondità
Inoltre, per le cuffie 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 ridurre la precisione ma risparmiare sulle prestazioni. Se z-fighting si verifica perché c'è meno 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 un formato di profondità a 16 bit, gli effetti necessari del buffer 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 stencil, prendere in considerazione l'uso di RectMask2D , che non richiede il buffer stencil e quindi può essere usato insieme a 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 quindi è consigliabile disabilitare questa funzionalità nello sviluppo.
Nota
Le impostazioni di illuminazione globale in Unity sono impostate per ogni scena e non una volta nell'intero progetto.
Analisi della scena
La scheda Analisi scena è progettata per informare gli sviluppatori su quali elementi attualmente presenti nella scena avranno probabilmente l'impatto più significativo sulle prestazioni.
Analisi dell'illuminazione
Questa sezione esaminerà il numero di luci attualmente presenti nella scena, nonché qualsiasi luce che dovrebbe disabilitare le ombreggiature. Il cast shadow è un'operazione molto costosa.
Analisi del conteggio poligono
Lo strumento fornisce anche statistiche di conteggio poligono. Può essere molto utile identificare rapidamente quali GameObjects hanno la complessità poligono più elevata in una determinata scena per l'ottimizzazione.
Analisi raycast dell'interfaccia utente di Unity
Le operazioni raycast grafiche vengono eseguite per puntatore in MRTK per determinare se gli elementi dell'interfaccia utente di Unity sono in stato attivo. Questi raycast possono essere molto 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 cerca gli elementi dell'interfaccia utente di testo che dispongono di questa proprietà abilitata e quindi sono probabilmente candidati da disabilitare.
Analisi shader
Unity Standard shader può produrre risultati visivi di alta qualità per i giochi, ma non è generalmente più adatto alle esigenze di prestazioni di applicazioni di realtà mista, soprattutto perché tali applicazioni sono generalmente vincolate alla GPU. È quindi consigliabile che gli sviluppatori usino lo shader MRTK Standard per bilanciare le caratteristiche grafiche dell'estetica & con le prestazioni.
La scheda Analisi shader analizza la cartella Asset del progetto corrente per i materiali usando lo shader Unity Standard o, se desiderato, tutti i materiali non usano Realtà mista Toolkit shader forniti. Una volta individuato, gli sviluppatori possono convertire tutti i materiali o convertirli singolarmente usando i pulsanti appropriati.