O Unity oferece várias ferramentas e APIs relacionadas à performance. Use essas ferramentas para medir e monitorar métricas de desempenho, especificar uma taxa de atualização da tela e analisar como a cena é renderizada frame a frame.
Medir e monitorar métricas de performance
O pacote Unity OpenXR: Android XR oferece dados de performance abrangentes que podem ser usados para monitorar e otimizar seu app.
É possível acessar essas métricas usando a API Performance Metrics.
Vantagens
- Monitoramento em tempo real do uso de memória e do desempenho da CPU e da GPU.
- Estatísticas do sistema das camadas de compositor e ambiente de execução.
- Meça o impacto das mudanças de otimização.
Para ter os melhores resultados, monitore ativamente essas métricas enquanto trabalha no seu app e ajusta o desempenho:
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);
}
Especificar uma taxa de atualização da tela
Com a taxa de atualização da tela, seu app pode solicitar taxas de frames mais altas ou mais baixas do tempo de execução, que o sistema tenta respeitar.
Vantagens
- Ajuste as taxas de atualização com base na complexidade da cena.
- Otimiza o consumo de energia durante cenas mais claras.
- Adaptar-se dinamicamente às demandas do app.
Ativar esse recurso
Use a API Unity para acessar a extensão XR_FB_display_refresh_rate
.
Você pode solicitar taxas de atualização como 72 fps, 90 fps ou 120 fps, e o sistema muda para a taxa solicitada se o hardware for compatível e as condições térmicas permitirem.
Ativar o depurador de frames do Unity
O Frame Debugger é a ferramenta integrada da Unity para analisar como sua cena é renderizada quadro a quadro. Essa ferramenta mostra a sequência de chamadas de desenho e permite percorrer cada uma delas para entender o comportamento de renderização.
Vantagens
- Identifique gargalos de renderização e chamadas de desenho inesperadas.
- Verifique se o SRP Batcher está funcionando corretamente (procure entradas "RenderLoopNewBatcher").
- Verifique o gaveteiro residente da GPU em lote (procure entradas "Hybrid Batch Group").
- Entenda a ordem das operações de renderização.
Ativar esse recurso
- No menu principal do Unity, clique em Window > Analysis > Frame Debugger.
- Clique em Ativar para começar a capturar dados de frames.
- Analise as chamadas de desenho para ver o que está sendo renderizado e quando.