Otimizar a performance usando ferramentas e APIs do Unity

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

  1. No menu principal do Unity, clique em Window > Analysis > Frame Debugger.
  2. Clique em Ativar para começar a capturar dados de frames.
  3. Analise as chamadas de desenho para ver o que está sendo renderizado e quando.