Compreenda mais acerca do Android Performance Tuner

 

As estatísticas de desempenho são uma nova funcionalidade do Android vitals concebida especificamente para programadores de jogos e outros programadores com apps que utilizam código nativo. As estatísticas de desempenho são criadas com a tecnologia do Android Performance Tuner, um novo plug-in para impulsionar o Android vitals para programadores de jogos.

Este artigo fornece informações sobre os conceitos principais por detrás do Android Performance Tuner e as suas estatísticas de desempenho, bem como os cálculos que os sustentam:

Conceitos principais

Parâmetros de fidelidade e níveis de qualidade

Os parâmetros de fidelidade da app influenciam o desempenho e a fidelidade gráfica do seu jogo, como o nível de detalhe da malha, a resolução da textura e o método de anti-aliasing. Podem ser contínuos (por exemplo, 0 a 100%), binários (sim/não) ou 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-lhe definir combinações de parâmetros que proporcionam um nível aceitável de fidelidade a uma velocidade de frames estável para alguns subconjuntos dos seus utilizadores. Nem todas as combinações possíveis de parâmetros proporcionariam uma experiência do utilizador significativa.

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

Os parâmetros de fidelidade da app e os respetivos níveis de qualidade são definidos durante a integração do Android Performance Tuner. Pode 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 por ordem crescente de fidelidade, em que 1 corresponde ao nível de fidelidade mais baixo.

Os seus níveis de qualidade e parâmetros de fidelidade podem ser visualizados na Play Console (Qualidade > Android vitals > Vista geral > selecione Inspecionar níveis de qualidade), mas são só de leitura. Para alterar os parâmetros, tem de lançar uma atualização; aceda ao guia de integração relevante para obter mais informações.

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

Os níveis de qualidade são utilizados para etiquetar sessões para que possa determinar se os modelos de dispositivos estão a ser executados num nível de qualidade demasiado elevado ou demasiado baixo. 

Os parâmetros de fidelidade são utilizados para identificar como mapear cada dispositivo do utilizador para um nível de qualidade.

Importante: se os parâmetros de fidelidade (e os níveis de qualidade) não refletirem com precisão as definições da app nos dispositivos dos utilizadores, as suas sessões não podem ser mapeadas para um dos níveis de qualidade predefinidos. Estas sessões são apresentadas como tendo um nível de qualidade "desconhecido". É difícil resolver problemas com níveis de qualidade "desconhecidos", uma vez que podem conter vários níveis de fidelidade. Recomendamos que reveja a sua integração se isto estiver a acontecer.

Para obter mais informações acerca dos níveis de qualidade, incluindo os níveis de qualidade determinados pelo utilizador, aceda a Resolução de problemas e Perguntas frequentes do Android Performance Tuner.

Anotações

As anotações são "etiquetas" nas cenas do seu jogo ou app. Fornecem informações contextuais sobre o que o seu jogo está a fazer num determinado frame. As anotações são estruturadas da seguinte forma:

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

Nota: um frame pode ter várias anotações.

Como são definidas as anotações

As anotações são definidas durante a integração. Para alterar as anotações, tem de lançar uma atualização; aceda à secção relevante do guia de integração para obter mais informações.

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

Como são utilizadas as anotações

As anotações ajudam a compreender se cenas específicas no seu jogo estão a causar problemas ou têm oportunidades. Para obter o nível de detalhe adequado para os problemas, tem de definir anotações suficientemente detalhadas.

Velocidade de frames alvo e tempo de frame alvo

A velocidade de frames alvo é utilizada para referenciar o desempenho do tempo de frame em todos os modelos de dispositivos. Para tal, é convertida num tempo de frame alvo e é aplicada uma tolerância para definir o limite de frames lentos.

A velocidade de frames é uma métrica com a unidade "fotogramas por segundo" (fps). O tempo de frame é medido em "ms". Uma fórmula simples liga os dois:

  • tempo de frame (ms) = 1000/velocidade de frames (fps)

Atualmente, pode selecionar uma das seguintes velocidades de frames alvo:

Velocidade de frames alvo (fps)

Tempo de frame alvo (ms)

30

33,333

60

16,667

120

8,333

 

Se não tiver a certeza da velocidade de frames alvo a escolher, comece com 30 fps. Esta é uma boa velocidade de frames de base para muitos jogos. Pode alterar a velocidade de frames alvo em qualquer altura. Tenha em atenção que isto não altera os dados subjacentes, apenas as estatísticas e as métricas.

Limites de frames lentos e rápidos

Os limites para definir as estatísticas e as métricas de frames derivam da velocidade de frames alvo:

  • Limite de frames lentos = tempo de frame alvo + uma tolerância
  • Limite de frames rápidos = 25% mais rápido do que o tempo de frame alvo (fornece alguma margem)

Para uma determinada velocidade de frames alvo, os limites são os seguintes:

Velocidade de frames alvo (fps)

Tempo de frame alvo (ms)

Limite de frames lentos (ms) (SFT)

Limite de frames rápidos (ms) (FFT)

30

33,333

35,37

25,0

60

16,667

18,54

12,5

120

8,333

10,12

6,25

Vantagens da aplicação da tolerância ao limite de frames lentos

Para fornecer informações acionáveis e estáveis, é aplicada uma tolerância ao tempo de frame para ajustar a imprecisão da medição e garantir que apresentamos apenas os problemas visíveis para o utilizador, em vez de desvios que não serão percetíveis pelo utilizador.

Oportunidades e o limite de frames rápidos

É utilizada uma margem de 25% para definir uma oportunidade, mas deve ser tratada como um guia para possíveis oportunidades e não como uma garantia. É sempre recomendável analisar mais detalhadamente e executar testes antes de mover os dispositivos para um nível de qualidade superior: mesmo quando um dispositivo tem margem, pode não ter margem suficiente para executar o nível de qualidade seguinte a uma velocidade de frames consistente.

Cálculos do Android Performance Tuner

Compreender os cálculos que sustentam o Android Performance Tuner ajuda a tirar o máximo partido das suas estatísticas.

Tempo de frame medido

Quando agregamos o tempo de frame em muitos frames para a sua app, comunicamos o tempo de frame do percentil 90. Este é definido como o tempo de frame máximo para os 90% mais rápidos dos frames.

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

As vantagens do percentil em relação à média

Uma boa experiência do utilizador requer uma velocidade de frames estável e consistente em toda a sessão. Uma média não fornece estatísticas sobre a consistência, uma vez que os frames rápidos e lentos podem compensar-se mutuamente. A utilização do percentil 90 fornece uma métrica que reflete o comportamento da grande maioria dos frames.

Segmentação do tempo de frame

Os tempos de frames são recolhidos e comunicados em segmentos de histograma, não uma variável contínua, para minimizar a quantidade de dados enviados pelos dispositivos dos utilizadores. O tempo de frame comunicado é o limite superior do segmento no qual o tempo de frame foi classificado.

Como resultado, os tempos de frames comunicados são agrupados em valores específicos e não contínuos.

Os segmentos predefinidos estão configurados para proporcionar um bom nível de detalhe para a resolução de problemas em segmentações de 30, 60 e 120 fps. Também são suficientemente limitados para garantir que os frames lentos nunca são exagerados. 

Métricas de frames lentos e rápidos

Os frames individuais são contabilizados como lentos ou rápidos por comparação com os limites de frames:

  • Um único frame é lento se o tempo de frame for superior ao limite de frames lentos (SFT).
  • Um único frame é rápido se o tempo de frame for mais rápido do que o limite de frames rápidos (FFT).

As métricas de frames são normalmente calculadas apenas no contexto de um problema ou oportunidades específicas. Exemplos:

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

Nota: a única exceção é a métrica de frames lentos apresentada no resumo Vista geral, que é medida em todos os frames.

Assimetria

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

 
 

Critérios

Frames lentos (%)

Frames rápidos (%)

Problema

90% do tempo de frame > SFT

> 10% por definição

entre 0 e 90%

Oportunidade

90% do tempo de frame < FFT

entre 0 e 10%

> 90% por definição

 

Nota: por vezes, as métricas de frames lentos e rápidos são fornecidas para proporcionar mais contexto sobre o problema ou a oportunidade.

Problemas e oportunidades

Os problemas e as oportunidades permitem-lhe tomar medidas relativamente ao desempenho do tempo de frame. Um problema ocorre se um modelo de dispositivo ou uma anotação (conforme definido acima) não atingir de forma consistente o seu tempo de frame alvo. Uma oportunidade é um modelo de dispositivo ou uma anotação que excede de forma consistente o seu tempo de frame alvo por uma margem suficiente para permitir um aumento da fidelidade.

Para identificar problemas e oportunidades, comparamos os tempos de frames do percentil 90 com os limites para frames lentos (SFT) e frames rápidos (FFT). Estes limites derivam do tempo de frame alvo:

Tipo de estatística

Definição

Como é calculada

Problema:

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

"pelo menos 10% dos frames não estão a atingir o seu tempo de frame alvo"

Tempo de frame do percentil 90 > SFT

Oportunidade:

  • Modelo de dispositivo com desempenho acima da média
  • Anotação com desempenho acima da média

"pelo menos 90% dos frames são significativamente mais rápidos do que o tempo de frame alvo"

Tempo de frame do percentil 90 < FFT

Funcionalidades importantes dos problemas e das oportunidades

Os problemas e as oportunidades só são definidos no contexto de:

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

Isto permite-lhe investigar o problema ou a oportunidade. Por 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 tendência a aparecer mais do que as oportunidades e existe uma grande diferença entre um modelo de dispositivo ou uma anotação não ter um problema e ter uma oportunidade.

Uma anotação pode ser um problema em alguns níveis e uma oportunidade noutros. Isto também se aplica aos modelos de dispositivos, embora o cenário em que um modelo de dispositivo seja apresentado em vários níveis de qualidade seja um caso extremo.

Os problemas e as oportunidades estão associados à velocidade de frames alvo. Se esta mudar, o mesmo acontece com os seus problemas e oportunidades. No entanto, os dados subjacentes do tempo de frame não são alterados.

Conteúdo relacionado

A informação foi útil?

Como podemos melhorá-la?
Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
3097972869417961891
true
Pesquisar no Centro de ajuda
true
true
true
true
true
92637
false
false