Ottimizzare il rendering della GPU

Unity offre una serie di funzionalità GPU avanzate che utilizzano l'istanziamento e l'occlusione per ridurre significativamente le chiamate di disegno ed eliminare il rendering di oggetti nascosti. Queste funzionalità lavorano insieme per massimizzare l'efficienza della GPU in scene complesse.

GPU Resident Drawer

Il drawer residente della GPU utilizza automaticamente l'istanza della GPU per ridurre le chiamate di disegno e liberare tempo di elaborazione della CPU. Questa funzionalità è più efficace per le scene di grandi dimensioni con molti oggetti che condividono la stessa mesh.

Attiva questa funzionalità

  1. Nel menu principale di Unity, fai clic su Modifica > Impostazioni progetto > Grafica.
  2. Nella sezione Rimozione degli shader, imposta Varianti del gruppo di rendering batch su Mantieni tutto.
  3. Trova l'asset Default Render Pipeline, che è anche l'asset URP.
  4. Cerca questa risorsa nel tuo progetto.
  5. Fai clic con il tasto destro del mouse sulla risorsa e seleziona Proprietà.
  6. Nell'elenco dei renderer, fai clic con il tasto destro del mouse su Universal Renderer e seleziona Proprietà.
  7. Imposta Percorso di rendering su Forward+.
  8. Torna all'asset URP, selezionalo e fai clic sui tre puntini e seleziona Debug.
  9. Imposta Modalità di disegno residente della GPU su Disegno con istanze.

GPU Occlusion Culling

Occlusion Culling utilizza la GPU anziché la CPU per escludere gli oggetti nascosti dietro altri oggetti. Questa funzionalità è più efficace nelle scene con occlusione significativa, come interni o ambienti densi.

Attiva questa funzionalità

  1. Nel menu principale di Unity, fai clic su Modifica > Impostazioni progetto > Grafica.
  2. Attiva GPU Occlusion Culling.
  3. Seleziona la scheda URP.
  4. Nella sezione Render Graph, disattiva Modalità compatibilità (Render Graph disattivato).

Ottimizza eliminazioni buffer

Questa ottimizzazione migliora le prestazioni eliminando i dati non necessari del buffer di profondità ed elaborando in modo efficiente i buffer di colore MSAA, il che riduce le operazioni di memoria.

Vantaggi

  • Elimina la copia e lo spostamento non necessari dei dati grafici.
  • Accelera il rendering della GPU in tutti i casi.

Attiva questa funzionalità

  1. Nel menu principale di Unity, fai clic su Modifica > Impostazioni progetto.
  2. Espandi la sezione Gestione plug-in XR e poi fai clic su OpenXR.
  3. Seleziona la scheda Android.
  4. Seleziona il gruppo di funzionalità Android XR.
  5. Fai clic sull'icona a forma di ingranaggio accanto ad Assistenza Android XR.
  6. Attiva Ottimizza eliminazione buffer (Vulkan).

    Impostazioni di Unity che ottimizzano gli scarti del buffer

Disattivare il rendering front-to-back

Il rendering da davanti a dietro è un esperimento sull'ordine di rendering che puoi provare nella tua scena. Se combinata con ottimizzazioni come Low-Resolution-Z (LRZ), potrebbe migliorare le prestazioni nelle scene con occlusione significativa in cui gli oggetti di sfondo utilizzano costosi shader di frammenti.

Tuttavia, l'attivazione di questa impostazione potrebbe anche ridurre le prestazioni. Per questo motivo, l'approccio consigliato è lasciare l'impostazione predefinita (disattivata).