Unity fornisce varie API e strumenti correlati al rendimento. Utilizza questi strumenti per misurare e monitorare le metriche di rendimento, specificare una frequenza di aggiornamento del display e analizzare il rendering della scena frame per frame.
Misurare e monitorare le metriche sul rendimento
Il pacchetto Unity OpenXR: Android XR fornisce dati completi sul rendimento che puoi utilizzare per monitorare e ottimizzare la tua app.
Puoi accedere a queste metriche tramite l'API Performance Metrics.
Vantaggi
- Monitoraggio in tempo reale dell'utilizzo della memoria e delle prestazioni di CPU e GPU.
- Statistiche di sistema dai livelli di compositore e runtime.
- Misura l'impatto delle modifiche all'ottimizzazione.
Per ottenere i risultati migliori, monitora attivamente queste metriche mentre lavori alla tua app e ne ottimizzi il rendimento:
AndroidXRPerformanceMetrics androidXRPerformanceMetrics = OpenXRSettings.Instance.GetFeature<AndroidXRPerformanceMetrics>();
string values = "";
if (m_Display != null && androidXRPerformanceMetrics != null && androidXRPerformanceMetrics.supportedMetricPaths != null)
foreach (var metric in androidXRPerformanceMetrics.supportedMetricPaths)
{
float stat;
XRStats.TryGetStat(m_Display, metric, out stat);
values += string.Format("{0}: {1:F2}\n", metric, stat);
}
Specificare una frequenza di aggiornamento del display
Frequenza di aggiornamento del display consente all'app di richiedere frequenze fotogrammi più alte o più basse dal runtime, che il sistema tenta di rispettare.
Vantaggi
- Regola le frequenze di aggiornamento in base alla complessità della scena.
- Ottimizza il consumo energetico durante le scene più chiare.
- Adattarsi dinamicamente alle esigenze delle app.
Attiva questa funzionalità
Utilizza l'API Unity per accedere all'estensione XR_FB_display_refresh_rate
.
Puoi richiedere frame rate come 72 fps, 90 fps o 120 fps, quindi il sistema passa alla velocità richiesta se l'hardware è in grado di gestirla e le condizioni termiche lo consentono.
Attivare il debugger dei frame di Unity
Frame Debugger è lo strumento integrato di Unity per analizzare il rendering della scena frame per frame. Questo strumento mostra la sequenza di chiamate di disegno e ti consente di esaminarle passo passo per comprendere il comportamento di rendering.
Vantaggi
- Identifica i colli di bottiglia del rendering e le chiamate di disegno impreviste.
- Verifica che SRP Batcher funzioni correttamente (cerca le voci "RenderLoopNewBatcher").
- Controlla il batching del riquadro residente della GPU (cerca le voci "Hybrid Batch Group").
- Comprendere l'ordine delle operazioni di rendering.
Attiva questa funzionalità
- Nel menu principale di Unity, fai clic su Window > Analysis > Frame Debugger.
- Fai clic su Abilita per iniziare ad acquisire i dati dei frame.
- Scorri le chiamate di disegno per vedere cosa viene visualizzato e quando.