Mais sobre o Android Performance Tuner

 

Os insights de desempenho fazem parte de um novo recurso do Android vitals criado especificamente para desenvolvedores de jogos ou de apps que usam código nativo. Ele usa a tecnologia Android Performance Tuner, um novo plug-in que deixa o Android vitals ainda melhor para os desenvolvedores de jogos.

Este artigo explica os principais conceitos por trás do Android Performance Tuner e os insights de desempenho, assim como os cálculos envolvidos no processo:

Principais conceitos

Parâmetros de fidelidade e níveis de qualidade

Os parâmetros de fidelidade influenciam o desempenho e a fidelidade gráfica do jogo, como o nível de detalhamento de malha, resolução da textura e método de suavização. Eles podem ser contínuos (de 0 a 100%), binários (sim/não) ou algum outro conjunto de valores.

Um nível de qualidade é um conjunto predefinido de valores para os parâmetros de fidelidade. Os níveis de qualidade permitem definir combinações de parâmetros que oferecem um nível aceitável de fidelidade a um frame rate estável para alguns subconjuntos de usuários. Nem todas as combinações possíveis de parâmetros proporcionam uma experiência do usuário significativa.

Como os parâmetros de fidelidade e os níveis de qualidade são definidos

Os parâmetros de fidelidade e os níveis de qualidade do app são definidos durante a integração do Android Performance Tuner. É possível definir até 15 níveis de qualidade como parte da integração, com um número ilimitado de parâmetros de fidelidade. Os níveis são sequenciados em ordem de fidelidade crescente, em que 1 é o nível mais baixo.

Os níveis de qualidade e os parâmetros de fidelidade podem ser encontrados no Play Console, mas são somente leitura. Acesse Qualidade > Android vitals > Visão geral > Inspecionar níveis de qualidade para vê-los. Para mudar os parâmetros, será necessário lançar uma atualização. Acesse o guia de integração relevante para mais informações.

Como os parâmetros de fidelidade e os níveis de qualidade são usados

Os níveis de qualidade são usados para marcar sessões com o objetivo de determinar se os modelos de dispositivos estão executando o app em um nível de qualidade muito alto ou muito baixo. 

Já os parâmetros de fidelidade são usados para identificar como mapear cada dispositivo de usuário em um nível de qualidade.

Importante: se esses indicadores não refletirem corretamente as configurações do app nos dispositivos dos usuários, as sessões não poderão ser mapeadas em um dos níveis de qualidade predefinidos. Essas sessões serão mostradas como em um nível de qualidade "desconhecido". É difícil resolver problemas desse tipo porque eles podem envolver vários níveis diferentes de fidelidade. Recomendamos que você revise a integração se isso estiver acontecendo.

Para mais informações sobre os níveis de qualidade, incluindo aqueles determinados pelo usuário, acesse Perguntas frequentes e solução de problemas do Android Performance Tuner.

Anotações

As anotações são "tags" nas cenas do jogo ou app. Elas fornecem informações contextuais sobre o que o jogo está fazendo em um determinado frame. Veja abaixo como as anotações são estruturadas:

  • Tipo de anotação: valor da anotação
    • Por exemplo: "Personagem": "Protagonista"

Observação: um frame pode ter várias anotações.

Como as anotações são definidas

As anotações são definidas durante a integração. Para fazer mudanças nelas, é necessário lançar uma atualização. Acesse a seção relevante do guia de integração para mais informações.

Como os parâmetros de fidelidade e os níveis de qualidade são usados

Como as anotações são usadas

As anotações ajudam a entender se cenas específicas do jogo estão causando problemas ou têm oportunidades. Para conseguir o nível certo de granularidade para problemas, será necessário definir anotações granulares suficientes.

Frame rate desejado e tempo para a renderização do frame desejado

O frame rate desejado é usado como referência de desempenho do tempo para a renderização do frame em todos os modelos de dispositivos. Para isso, ele é convertido em um tempo para a renderização do frame desejado, e uma tolerância é aplicada para definir o limite de frame lento.

O frame rate é uma métrica com a unidade "quadros por segundo" (qps). O tempo para a renderização do frame é medido em "ms". Uma fórmula simples conecta os dois:

  • tempo para a renderização do frame (ms) = 1.000/frame rate (qps)

No momento, é possível selecionar um dos seguintes frame rates desejados:

Frame rate desejado (qps)

Tempo para a renderização do frame desejado (ms)

30

33,333

60

16,667

120

8,333

 

Caso você não tenha certeza de qual frame rate desejado escolher, comece com 30 qps. Essa é uma boa base para muitos jogos. É possível mudá-la a qualquer momento. Isso não muda os dados relacionados, somente os insights e as métricas.

Limites de frame lento e rápido

Os limites para definir insights e métricas de frame são derivados do frame rate desejado:

  • Limite de frame lento = tempo para a renderização do frame desejado + uma tolerância
  • Limite de frame rápido = 25% mais rápido que o tempo para a renderização do frame desejado (permite alguma reserva dinâmica)

Para um determinado frame rate desejado, os limites são os seguintes:

Frame rate desejado (qps)

Tempo para a renderização do frame desejado (ms)

Limite de frame lento (ms) (SFT, na sigla em inglês)

Limite de frame rápido (ms) (FFT, na sigla em inglês)

30

33,333

35,37

25,0

60

16,667

18,54

12,5

120

8,333

10,12

6,25

Benefícios de aplicar tolerância ao limite de frame lento

Para fornecer insights estáveis e úteis, uma tolerância é aplicada ao tempo para a renderização do frame para que a imprecisão da medição seja ajustada e para garantir que somente problemas visíveis ao usuário sejam exibidos, em vez de desvios que não serão perceptíveis por ele.

Oportunidades e o limite de frame rápido

Uma reserva dinâmica de 25% é usada para definir uma oportunidade, mas ela precisa ser tratada como um guia para possíveis oportunidades, não como uma garantia de oportunidade. É sempre recomendável se aprofundar e fazer testes antes de mover dispositivos para um nível de qualidade superior. Mesmo quando um dispositivo tem uma reserva, talvez não seja o suficiente para executar o próximo nível de qualidade com um frame rate consistente.

Cálculos do Android Performance Tuner

Entender os cálculos que sustentam o Android Performance Tuner ajudará a aproveitar ao máximo os insights.

Tempo para a renderização do frame medido

Ao agregar o tempo para a renderização em muitos frames para o app, informamos quando esse valor chega ao 90º percentil. Isso é definido como o tempo para a renderização máximo dos 90% dos frames mais rápidos.

Atualmente, o limite de 90% é fixo e não pode ser alterado.

Os benefícios do percentil em relação à média

Uma boa experiência do usuário requer um frame rate estável e consistente durante toda a sessão. Uma média não fornece insight sobre a consistência, já que os frames rápidos e lentos podem se compensar. O uso do 90º percentil oferece uma métrica que reflete como a grande maioria dos frames se comportou.

Agrupamento do tempo para a renderização do frame em intervalos

Os tempos para a renderização do frame são coletados e relatados em intervalos de histograma, não em uma variável contínua, para minimizar a quantidade de dados enviados dos dispositivos de usuários. O tempo informado é o limite superior do intervalo em que foi classificado.

Como resultado, eles são agrupados em valores específicos, não contínuos.

Os intervalos padrão são configurados para fornecer uma boa granularidade para a solução de problemas em metas de 30, 60 e 120 qps. Eles também são restritos o suficiente para garantir que os frames lentos nunca sejam superestimados. 

Métricas de frame lento e rápido

Os frames individuais são contados como lentos ou rápidos em comparação com os limites de frame:

  • Ele será considerado lento se o próprio tempo para a renderização for maior que o limite de frame lento (SFT, na sigla em inglês).
  • Ele será considerado rápido se o próprio tempo para a renderização for mais veloz que o limite de frame rápido (FFT, na sigla em inglês).

As métricas de frame geralmente são calculadas somente no contexto de um problema ou oportunidade específicos. Exemplos:

  • Número e porcentagem de frames lentos no modelo de dispositivo X no nível de qualidade 4
  • Número e porcentagem de frames rápidos na anotação Y em todos os níveis de qualidade
  • Porcentagem de frames lentos e rápidos na especificação Z do dispositivo

Observação: a única exceção é a métrica de frame lento exibida no resumo da "Visão geral", que é medida em todos os frames.

Assimetria

Os frames lentos e rápidos não são o inverso um do outro, porque têm limites e critérios diferentes. Isso significa que um modelo ou anotação de dispositivo com baixo desempenho ainda pode ter frames rápidos e, por outro lado, um modelo ou anotação de dispositivo com desempenho acima do esperado pode ter frames lentos:

 
 

Critérios

Frames lentos (%)

Frames rápidos (%)

Problema

90% do tempo para a renderização do frame > SFT

> 10% por definição

de 0 a 90%

Oportunidade

90% do tempo para a renderização do frame < FFT

de 0 a 10%

> 90% por definição

 

Observação: às vezes, métricas de frame lento e rápido são fornecidas para dar mais contexto sobre o problema ou a oportunidade.

Problemas e oportunidades

Os problemas e as oportunidades permitem que você tome medidas em relação ao desempenho do tempo para a renderização do frame. Ocorrerá um problema se um modelo de dispositivo ou anotação (conforme definido acima) não atingir o tempo para a renderização do frame desejado de maneira consistente. Uma oportunidade é um modelo de dispositivo ou anotação que excede consistentemente o tempo para a renderização do frame desejado por uma margem suficiente para permitir uma reserva dinâmica e aumentar a fidelidade.

Para identificar problemas e oportunidades, comparamos os 90% do percentil dos tempos para a renderização dos frames com os limites de frames lentos (SFT) e rápidos (FFT). Esses limites são derivados do tempo para a renderização do frame desejado:

Tipos de insights

Definição

Como é calculado

Problema:

  • Modelo de dispositivo com baixo desempenho
  • Anotação com baixo desempenho

Pelo menos 10% dos frames não estão atingindo o tempo para a renderização do frame desejado.

90% do percentil do tempo para a renderização do frame > SFT

Oportunidade:

  • Modelo de dispositivo com desempenho acima do esperado
  • Anotação com desempenho acima do esperado

Pelo menos 90% dos frames são significativamente mais rápidos do que o tempo para a renderização do frame desejado.

90% do percentil do tempo para a renderização do frame < FFT

Recursos importantes de problemas e oportunidades

Os problemas e as oportunidades são definidos somente nos seguintes contextos:

  • Modelo de dispositivo x nível de qualidade
  • Anotação x nível de qualidade

Com isso, você pode investigar o problema ou a oportunidade. Exemplo:

  • Problema no modelo de dispositivo X no nível de qualidade 4 => analise o modelo de dispositivo X.
  • Oportunidade na anotação Y em todos os níveis de qualidade => analise a anotação Y.

Os problemas e as oportunidades não são opostos. Os problemas têm uma chance mais baixa de aparecer do que as oportunidades. Além disso, há uma grande diferença entre um modelo de dispositivo ou anotações não apresentarem um problema e terem uma oportunidade.

Uma anotação pode ser um problema em alguns níveis e uma oportunidade em outros. Isso também se aplica a modelos de dispositivos, embora seja raro que um apareça em vários níveis de qualidade.

Os problemas e as oportunidades estão relacionados ao frame rate desejado. Se ela mudar, os problemas e as oportunidades também mudarão. No entanto, isso não afeta os dados subjacentes de tempo para a renderização do frame.

Conteúdo relacionado

Isso foi útil?

Como podemos melhorá-lo?

Precisa de mais ajuda?

Siga as próximas etapas:

Pesquisa
Limpar pesquisa
Fechar pesquisa
Google Apps
Menu principal
11824573743404442139
true
Pesquisar na Central de Ajuda
true
true
true
true
true
92637
false
false