Las estadísticas de rendimiento son una nueva función de Android vitals diseñada específicamente para desarrolladores de juegos y otras aplicaciones que usan código nativo. Esta función se basa en Android Performance Tuner, un nuevo complemento que mejora Android vitals y que está orientado a desarrolladores de videojuegos.
En este artículo, se explican los conceptos básicos de Android Performance Tuner y los datos de rendimiento, así como los cálculos en los que se basan:
- Parámetros de fidelidad y niveles de calidad
- Anotaciones
- Velocidad de fotogramas objetivo y tiempo entre fotogramas objetivo
- Umbrales de fotogramas lentos y rápidos
- Tiempo entre fotogramas medido
- Métricas de fotogramas lentos y rápidos
- Problemas y oportunidades
Conceptos básicos
Parámetros de fidelidad y niveles de calidad
Los parámetros de fidelidad afectan al rendimiento y a la fidelidad gráfica de tu juego. Entre ellos, se encuentran el nivel de detalle de la malla, la resolución de las texturas y el método de suavizado. Pueden ser continuos (por ejemplo, 0-100 %), binarios (sí/no) o basarse en otro conjunto de valores.
Un nivel de calidad es un conjunto predefinido de valores que se aplica a tus parámetros de fidelidad. Los niveles de calidad te permiten combinar parámetros que ofrezcan un nivel de fidelidad aceptable con una velocidad de fotogramas estable a un subconjunto de usuarios. No todas las combinaciones de parámetros posibles ofrecen una experiencia de usuario óptima.
Cómo se configuran los parámetros de fidelidad y los niveles de calidadLos parámetros de fidelidad y los niveles de calidad de tu aplicación se definen durante la integración de Android Performance Tuner. En el proceso de integración puedes definir hasta 15 niveles de calidad y un número ilimitado de parámetros de fidelidad. Los niveles se ordenan de menor a mayor fidelidad, siendo 1 el nivel de fidelidad más bajo.
Puedes consultar los niveles de calidad y los parámetros de fidelidad en Play Console, pero con permiso de solo lectura. Para ello, ve a Calidad > Android vitals > Información general y, después, selecciona Inspeccionar niveles de calidad. Para cambiar los parámetros, debes publicar una actualización. Consulta la guía de integración pertinente para obtener más información.
Los niveles de calidad se utilizan para etiquetar sesiones de forma que puedas consultar si los modelos de dispositivo ejecutan tu aplicación con un nivel de calidad demasiado alto o bajo.
Los parámetros de fidelidad se utilizan para identificar el nivel de calidad que quieres asignar al dispositivo de cada usuario.
Importante: Si los parámetros de fidelidad y los niveles de calidad no reflejan con precisión la configuración de tu aplicación en los dispositivos de los usuarios, las sesiones no se podrán asignar a uno de tus niveles de calidad predefinidos. Estas sesiones se muestran con un nivel de calidad desconocido. Solucionar problemas con niveles de calidad desconocidos es difícil, ya que pueden contener muchos niveles de fidelidad distintos. Si es esto lo que ocurre, te recomendamos que revises tu integración.
Para obtener más información sobre los niveles de calidad, incluidos los niveles de calidad definidos por el usuario, consulta el artículo Solución de problemas de Android Performance Tuner y preguntas frecuentes.
Anotaciones
Las anotaciones son etiquetas en escenas de tu juego o aplicación. Proporcionan información contextual sobre lo que hace el juego en un fotograma determinado. Las anotaciones se estructuran de la siguiente manera:
- Tipo de anotación: Valor de la anotación
- Por ejemplo: "Personaje": "Protagonista"
Nota: Un fotograma puede tener varias anotaciones.
Cómo se configuran las anotacionesLas anotaciones se definen durante la integración. Para cambiar las anotaciones, debes lanzar una actualización; consulta la sección correspondiente en la guía de integración para obtener más información.
Cómo se usan las anotaciones
Las anotaciones te ayudan a saber si una escena concreta de tu juego causa problemas u ofrece oportunidades. Para conseguir el nivel de detalle adecuado según el problema, debes definir anotaciones lo suficientemente específicas.
Velocidad de fotogramas objetivo y tiempo entre fotogramas objetivo
La velocidad de fotogramas objetivo se utiliza para comparar el rendimiento del tiempo entre fotogramas en todos los modelos de dispositivos. Para ello, se convierte a un tiempo entre fotogramas objetivo y se aplica un margen de tolerancia para definir el umbral de fotogramas lentos.
La velocidad de imagen es una métrica que se mide en fotogramas por segundo (FPS). El tiempo entre fotogramas se mide en milisegundos (ms). La siguiente fórmula establece la relación entre ambas métricas:
- Tiempo entre fotogramas (ms) = 1000 / velocidad de fotogramas (FPS)
Actualmente, puedes seleccionar una de las siguientes velocidades de fotogramas objetivo:
Velocidad de fotogramas objetivo (FPS) |
Tiempo entre fotogramas objetivo (ms) |
30 |
33,333 |
60 |
16,667 |
120 |
8,333 |
Si no sabes la velocidad de fotogramas objetivo que debes elegir, empieza con 30 FPS. Esta velocidad de fotogramas ofrece una buena base para muchos juegos. Puedes cambiar tu velocidad de fotogramas objetivo en cualquier momento. Ten en cuenta que esto no afecta a los datos de la aplicación, únicamente a los datos de rendimiento y a las métricas.
Umbrales de fotogramas lentos y rápidos
Los límites para definir las estadísticas y métricas de fotogramas se derivan de la velocidad de fotogramas objetivo:
- Umbral de fotogramas lentos = tiempo entre fotogramas objetivo + un margen de tolerancia
- Umbral de fotogramas rápidos = 25 % más rápido que el tiempo entre fotogramas objetivo (con cierto margen de mejora)
Para una velocidad de fotogramas objetivo determinada, los límites son los siguientes:
Velocidad de fotogramas objetivo (FPS) |
Tiempo entre fotogramas objetivo (ms) |
Umbral de fotogramas lentos (ms) |
Umbral de fotogramas rápidos (ms) |
30 |
33,333 |
35,37 |
25,0 |
60 |
16,667 |
18,54 |
12,5 |
120 |
8,333 |
10,12 |
6,25 |
Con el objetivo de ofrecer métricas estables y útiles, se aplica un margen de tolerancia al tiempo entre fotogramas para ajustar las imprecisiones de la medición y asegurarnos de que solo se muestran los problemas que puedan detectar al usuario, y no los que sean imperceptibles.
Se utiliza un margen de mejora del 25 % para definir una oportunidad, pero nunca debe considerarse una garantía, sino una orientación sobre posibles oportunidades. Te recomendamos que hagas pruebas y profundices en los problemas antes de pasar los dispositivos a un nivel de mayor calidad. Aunque el dispositivo disponga de margen, es posible que no tenga suficiente capacidad para ejecutar un nivel de calidad superior con una velocidad de fotogramas constante.
Cálculos de Android Performance Tuner
Conocer los cálculos en los que se basa Android Performance Tuner te ayudará a aprovechar al máximo los datos para optimizar el rendimiento de tu aplicación.
Tiempo entre fotogramas medido
Cuando añades un tiempo entre fotogramas en muchos de los fotogramas de tu aplicación, calculamos el tiempo entre fotogramas en el percentil 90, que es el tiempo entre fotogramas máximo para el 90 % de los fotogramas más rápidos.
Actualmente, el límite del 90 % es fijo y no se puede cambiar.
Ventajas de un percentil por encima de la media
Para disfrutar de una buena experiencia de usuario, la velocidad de fotogramas debe ser estable y constante durante toda la sesión. El cálculo de un promedio no ofrece datos sobre constancia, puesto que los fotogramas rápidos y lentos pueden compensarse entre sí. El uso del percentil 90 proporciona una métrica que refleja el comportamiento de la gran mayoría de los fotogramas.
Segmentación del tiempo entre fotogramasLos tiempos entre fotogramas se recogen y se muestran agrupados por histogramas, no en una variable continua, para minimizar la cantidad de datos enviados desde los dispositivos de los usuarios. El tiempo entre fotogramas que se muestra es el límite superior del segmento en el que se ha agrupado.
Por tanto, los tiempos entre fotogramas registrados se agrupan por valores concretos, no continuos.
Los segmentos predeterminados están configurados para ofrecer datos específicos a la hora de solucionar problemas con velocidades de fotogramas objetivo de 30, 60 y 120 FPS. Además, los segmentos son lo suficientemente limitados como para que nunca se sobrestimen los fotogramas lentos.
Métricas de fotogramas lentos y rápidos
Cada fotograma se considera lento o rápido al compararlo con los umbrales de fotogramas:
- Un fotograma es lento si su tiempo entre fotogramas es superior al umbral de fotogramas lentos.
- Un fotograma es rápido si su tiempo entre fotogramas es superior al umbral de fotogramas rápidos.
Las métricas de fotogramas solo se suelen calcular en el contexto de oportunidades o problemas concretos. Ejemplos:
- Número y porcentaje de fotogramas lentos en el modelo de dispositivo X para el nivel de calidad 4
- Número y porcentaje de fotogramas lentos en la anotación Y para todos los niveles de calidad
- Porcentaje de fotogramas lentos y rápidos en las especificaciones del dispositivo Z
Nota: La única excepción es la métrica de fotogramas lentos que se muestra en el resumen de Información general, que se mide en todos los fotogramas.
AsimetríaLos fotogramas lentos y rápidos no son opuestos entre sí: tienen límites y criterios distintos. Así, un modelo de dispositivo o una anotación con un rendimiento inferior al esperado puede contener fotogramas rápidos y, por el contrario, un modelo de dispositivo o una anotación con un rendimiento superior al esperado puede contener fotogramas lentos.
Criterios |
Fotogramas lentos (%) |
Fotogramas rápidos (%) |
|
Problema |
90 % del tiempo entre fotogramas > umbral de fotogramas lentos |
> 10 % por definición |
0-90 % |
Oportunidad |
90 % del tiempo entre fotogramas < umbral de fotogramas rápidos |
0-10 % |
> 90 % por definición |
Nota: A veces, se proporcionan métricas de fotogramas lentos y rápidos para ofrecer más contexto sobre el problema o la oportunidad.
Problemas y oportunidades
Los problemas y las oportunidades te permiten tomar medidas en relación con el rendimiento del tiempo entre fotogramas. Un problema se produce cuando el modelo de dispositivo o la anotación (tal y como se define más arriba) no consigue mantener el tiempo entre fotogramas objetivo. Una oportunidad es un modelo de dispositivo o una anotación que supera constantemente el tiempo entre fotogramas objetivo con suficiente margen como para aumentar la fidelidad.
Para detectar problemas y oportunidades, comparamos tus tiempos entre fotogramas del percentil 90 con los umbrales de fotogramas lentos y rápidos. Estos umbrales se derivan del tiempo entre fotogramas objetivo:
Tipo de datos |
Definición |
Cómo se calcula |
Problema:
|
"Al menos el 10 % de los fotogramas no cumplen tu tiempo entre fotogramas objetivo". |
Tiempo entre fotogramas del percentil 90 > umbral de fotogramas lentos |
Oportunidad:
|
"Al menos el 90 % de los fotogramas son considerablemente más rápidos que tu tiempo entre fotogramas objetivo". |
Tiempo entre fotogramas del percentil 90 < umbral de fotogramas rápidos |
Los problemas y las oportunidades solo se definen en estos contextos:
- Modelo de dispositivo para un nivel de calidad
- Anotación para un nivel de calidad
De esta forma, puedes profundizar en el problema o la oportunidad. Por ejemplo:
- Problema en el modelo de dispositivo X para el nivel de calidad 4 > comprueba el modelo de dispositivo X
- Oportunidad en la anotación Y para todos los niveles de calidad > comprueba la anotación Y
Los problemas y las oportunidades no son incompatibles entre sí. Los problemas tienen una menor probabilidad de aparecer que las oportunidades, y hay una gran diferencia entre que un modelo de dispositivo o una anotación tenga un problema o que tenga una oportunidad.
Una anotación puede ser un problema en algunos niveles y una oportunidad en otros. Esto también se aplica a los modelos de dispositivo. No obstante, que un modelo de dispositivo aparezca en varios niveles de calidad es un caso extremo.
Los problemas y las oportunidades están ligados a la velocidad de fotogramas objetivo. Si la velocidad de fotogramas objetivo cambia, también lo harán los problemas y oportunidades, pero no los datos de tiempo entre fotogramas de tu aplicación.