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.

MRTK Optimize Window Performance Target

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.

MRTK Optimize Window Settings

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.

MRTK Optimize Window Settings scene Analysis

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.

MRTK Optimize Window Settings shader analysis

Vedere anche