0 votes

Comment mesurer les performances du GPU dans différentes ROMs personnalisées ?

J'ai l'intention de comparer les performances des GPU de différentes politiques de puissance. Les politiques d'optimisation du GPU se trouvent sous

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

sous l'arbre du noyau, où XXXX= trustzone, msm ou toute autre politique que j'ai écrite. Sur la base de ces différentes politiques, je m'attends à des performances différentes pour le rendu des images. Donc pour chaque politique, supposons qu'il y ait une ROM différente.

Je sais qu'il existe des applications comme GFXBench et Basemark 2.0 ES Taiji qui permettent de mesurer directement les performances des GPU. Mais je cherche à mesurer les performances du GPU dans des applications/charges de travail peu gourmandes en GPU, comme le défilement de l'écran d'accueil, Twitter ou le jeu 2048.

Quels sont les paramètres que je peux prendre en compte et comment les mesurer ?

Puisque j'utilise une Nexus 7 de 2e génération et qu'elle utilise un GPU Qualcomm Adreno, je peux utiliser le profileur Adreno de Qualcomm pour capturer les FPS lorsque je fais défiler les pages. Mais dans des applications comme Twitter, l'écran ne se rafraîchit pas à moins que vous ne fassiez défiler l'écran, donc il n'y a pas de mesure de FPS si nous ne faisons pas défiler l'écran. Quelles sont donc les autres mesures que je peux utiliser ?

1voto

Andy Brudtkuhl Points 1714

Pour les faibles charges de travail des GPU, la seule mesure sensée est la consommation d'énergie. Si le temps de trame est toujours inférieur à 1/60 s, les changements de temps de trame n'affecteront pas l'aspect visuel de l'application, donc ni le temps de trame ni le FPS ne fournissent d'informations utiles. Vous ne pouvez pas mesurer utilement la consommation d'énergie à partir d'un benchmark de l'espace utilisateur : vous avez besoin de crochets du noyau (tels que ceux utilisés par le graphique d'utilisation de la batterie d'Android) ou d'une sonde d'alimentation matérielle.

Notez qu'il est important de mesurer la consommation d'énergie de l'ensemble du système, et pas seulement du GPU. Il est presque toujours possible de déplacer le travail entre le CPU et le GPU, et vous pouvez constater que certaines techniques de performance du GPU augmentent en fait la consommation d'énergie du CPU, vous avez donc besoin de la puissance totale pour avoir une vue d'ensemble.

Notez également que vous devez mesurer la consommation d'énergie sur toute la durée, et pas seulement pendant le rendu de l'image. Considérez deux politiques d'alimentation : l'une fait toujours tourner le GPU à pleine vitesse tant qu'il y a du travail à faire, mais si le rendu de l'image est rapide, ce n'est que pour une très courte durée ; l'autre réduit la vitesse du GPU pour diminuer la consommation d'énergie de sorte que l'image soit toujours prête juste à temps. L'échantillonnage de la consommation d'énergie, ou sa mesure uniquement pendant le rendu de l'image, fera paraître la première politique plus gourmande en énergie, mais elle pourrait en fait utiliser moins d'énergie dans l'ensemble, car elle peut fonctionner en courtes rafales.

En bref, le profilage de la puissance est un vaste sujet, et le choix de la bonne charge de travail n'en est qu'une petite partie. Vous devez vraiment comprendre ce que vous essayez d'optimiser, et ce n'est pas toujours le temps de trame.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X