0 votos

Cómo medir el rendimiento de la GPU en diferentes ROMs personalizadas

Tengo previsto comparar el rendimiento de la GPU con diferentes políticas de escala de potencia de la GPU. Las políticas de GPU powerscale se encuentran en

/drivers/msm/gpu/msm[or any other chipset name]/kgsl_pwrscale_XXXX.c

bajo el árbol del kernel, donde XXXX= trustzone, msm o cualquier otra política que haya escrito. Basado en estas diferentes políticas espero un rendimiento diferente para el renderizado de fotogramas. Así que para cada política vamos a suponer que hay una ROM diferente.

Sé que hay aplicaciones como GFXBench y Basemark 2.0 ES Taiji que pueden medir el rendimiento de la GPU directamente. Pero lo que busco es medir el rendimiento de la GPU en aplicaciones/cargas de trabajo poco intensivas para la GPU, como el desplazamiento de la pantalla de inicio, Twitter o el juego 2048.

¿Qué métricas puedo tener en cuenta y cómo puedo medirlas?

Como estoy usando un Nexus 7 de segunda generación y está usando una GPU Qualcomm Adreno, puedo usar el Adreno Profiler de Qualcomm para capturar los FPS cuando hago scroll. Pero en aplicaciones como Twitter, la pantalla no se refresca a menos que se haga scroll, por lo que no hay medición de FPS si no hacemos scroll. Entonces, ¿qué otras métricas puedo utilizar

1voto

Andy Brudtkuhl Puntos 1714

Para las cargas de trabajo bajas de la GPU, la única métrica sensata es el consumo de energía. Si el tiempo de fotogramas es siempre inferior a 1/60 s, los cambios en el tiempo de fotogramas no afectarán a la apariencia visual de la aplicación, por lo que ni el tiempo de fotogramas ni los FPS proporcionan ninguna información útil. No se puede medir el consumo de energía de forma útil a partir de un benchmark en el espacio de usuario: se necesitan ganchos del kernel (como los que utiliza el gráfico de uso de la batería de Android) o una sonda de energía de hardware.

Ten en cuenta que es importante medir el consumo de energía de todo el sistema, no sólo de la GPU. Casi siempre es posible cambiar el trabajo entre la CPU y la GPU, y es posible que ciertas técnicas de rendimiento de la GPU aumenten en realidad el consumo de energía de la CPU, por lo que se necesita la energía total para ver el panorama completo.

Ten en cuenta también que tienes que medir el consumo de energía durante todo el tiempo, no sólo mientras el fotograma se está renderizando. Considera dos políticas de energía: una de ellas hace funcionar siempre la GPU a toda velocidad mientras hay trabajo que hacer, pero si el fotograma es rápido de renderizar, es sólo para una ráfaga muy corta; la otra baja la velocidad de la GPU para reducir el consumo de energía de manera que el fotograma esté siempre listo justo a tiempo. Muestrear el uso de la energía, o medirlo sólo mientras se está renderizando el fotograma, hará que la primera política parezca más hambrienta de energía, pero en realidad podría usar menos energía en general, porque puede funcionar en ráfagas cortas.

En resumen, la elaboración de perfiles de potencia es un gran tema, y la elección de la carga de trabajo adecuada es sólo una pequeña parte. Realmente hay que entender para qué se está tratando de optimizar, y eso no siempre es tiempo de cuadro.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X