FrAndroid utilise GameBench depuis maintenant un peu plus d’un an. Ce logiciel a totalement modifié la façon dont nous testons smartphones et tablettes du point de vue des performances. En effet, avant son existence, il fallait se référer à des benchmarks synthétiques et applicatifs ou à un ressenti totalement subjectif. Il était aussi possible de réaliser une vidéo pour montrer la différence sur les temps de chargement. Mais il n’existait pas d’outil grand public pour mesurer et analyser les performances et le comportement d’appareils mobiles en usage réel, c’est-à-dire avec de véritables applications et de vrais jeux.
Benchmarks synthétiques vs applicatifs
SoC :
Le SoC est la puce qui regroupe le processeur (CPU), la puce graphique (GPU) et quelques autres composants comme parfois le modem ou des co-processeurs.
Les benchmarks synthétiques comme AnTuTu et GeekBench se contentent de mesurer les performances brutes du SoC, ce qui ne représente pas nécessairement les performances obtenues en pratique. Les benchmarks applicatifs tels que PCMark ou 3DMark et GFXBench tentent quant à eux de simuler de véritables utilisations, comme le scroll sur une page web ou l’affichage d’une scène en 3D, mais il existe un biais : la triche.
La triche la plus répandue est celle qui consiste, pour les OEM, à détecter le lancement du benchmark (grâce au nom du processus) et de passer le SoC en mode hautes performances afin d’augmenter les fréquences de fonctionnement, ce qui ne reflète pas le fonctionnement « normal » de la puce. HTC et Samsung ont par exemple déjà été pris en flagrant délit de triche sur 3DMark. C’est notamment pour cette raison que des outils comme GameBench ont vu le jour.
Comme vous l’avez compris, GameBench va plus loin que de simples benchmarks synthétiques et applicatifs. Il peut mesurer et analyser les performances de n’importe quelle application utilisée par le grand public, et non pas d’un benchmark utilisé par les testeurs et les constructeurs de smartphones. Nous utilisons Real Racing 3 pour mesurer les performances dans les jeux gourmands pour un appareil mobile, mais il est tout à fait possible de mesurer les performances de Facebook, par exemple. GameBench se charge de relever le nombre d’images par secondes, l’indicateur de fluidité par excellence.
Un écran de smartphone fonctionne la plupart du temps à 60 Hertz, ce qui signifie qu’il rafraîchit les informations 60 fois par seconde. Le GPU (puce graphique) va donc devoir lui envoyer 60 images par seconde (60 FPS) pour que l’ensemble soit visuellement fluide. Si l’application est mal optimisée, ou le SoC pas assez puissant, le framerate (nombre d’images par seconde) sera inférieur à 60 FPS et l’utilisateur pourra percevoir une sensation de ralentissements : l’ensemble ne sera pas fluide.
Pour ceux qui pensent encore que 24 ou 30 FPS est la limite acceptable, je les invite à tester un écran d’ordinateur à 30 Hz (et à lire l’excellent papier de No Frag sur le sujet) en usage bureautique et Internet. Tout semble trop lent, contrairement à certains jeux en 30 FPS qui restent largement jouables. C’est pour cette raison que Google souhaite une interface à 60 FPS grâce, notamment, à l’accélération matérielle du GPU.
GameBench : pour les développeurs, constructeurs, journalistes et le grand public
Bien entendu, GameBench n’est pas une nouveauté en soi. Les développeurs et les constructeurs d’appareils mobiles disposent déjà d’outils similaires, capables de mesurer et d’analyser les performances de leurs applications ou appareils, à l’image de Facebook qui a racheté Little Eye Labs en 2014 pour internaliser l’outil de benchmark de la société afin d’améliorer les performances et la consommation énergétique de l’application de réseau social. La plupart des concepteurs de puces (ARM, Nvidia, Imagination Technologies, etc.) proposent également leurs propres outils de benchmark à leurs clients.
Mais GameBench est le premier éditeur mobile à rendre disponible son application pour le grand public et à proposer une interface facilement utilisable. GameBench est ainsi largement répandu, que ce soit chez les journalistes, les constructeurs, mais aussi les développeurs. Nous avons pu en rencontrer certains le 15 octobre dernier, lors d’un évènement organisé à Londres.
50 ingénieurs réunis dans un amphithéâtre
Il y avait une cinquantaine de personnes, tous ingénieurs, que ce soit chez les constructeurs, les concepteurs de puces ou les éditeurs d’application :
- AMD
- Nvidia
- ARM
- Imagination Technologies
- Unity
- Marmalade
Toutes ces personnes étaient présentes pour débattre du sujet des performances sur les appareils mobiles. C’était aussi l’occasion pour GameBench de présenter une nouvelle version de son application, disponible pour Windows, OS X et Linux, permettant de mesurer, en temps réel, les performances d’un appareil iOS ou Android. Le plus intéressant, pour moi, était les nombreuses conférences et tables rondes sur le sujet des performances dans le mobile, loin des discours commerciaux et marketing des marques, puisque j’étais le seul journaliste (ou intrus, au choix) dans la salle.
Le premier point à retenir est la volonté de tous les acteurs présents dans la salle de trouver un moyen d’augmenter les performances dans le domaine mobile. Ce n’est pas une simple déclaration d’intention, puisque tous les participants disposent de moyens pour augmenter les performances des appareils mobiles. On peut citer Google qui édite des directives à destination des développeurs pour les aider à optimiser leur code et qui dispose même d’une équipe dédiée à cette tâche pour les aider au quotidien. Celle-ci a d’ailleurs développé un outil pour débuguer et optimiser les applications 3D : Graphics Debugger (GAPID). Les concepteurs de puces fournissent également le même type d’outils et font constamment évoluer leurs puces pour gérer de nouvelles fonctionnalités, comme les nouvelles versions des API graphiques, à l’image d’Open GL ES 3.1. Mais la révolution pourrait provenir de Vulkan, la future API graphique multi-plateforme.
Vulkan + GameBench = duo gagnant ?
Une API est une interface de programmation permettant de faire le lien entre le logiciel (par exemple un jeu et son moteur graphique) et le matériel, et donc la puce graphique (aussi appelée GPU). Vous devez sûrement connaître DirectX, l’API graphique de Windows et OpenGL ES, l’API graphique utilisée sous Android.
Vulkan est une API graphique actuellement développée par le Khronos Group, le consortium d’entreprise à la base d’OpenGL. Vulkan va apporter deux nouveautés révolutionnaires. La première, c’est le support multi-plateforme avec une seule version, ce qui signifie qu’un jeu PC supportant Vulkan sera très facilement et rapidement portable sous Android sans trop de modifications. La seconde, c’est un accès de bas niveau au GPU de la part des développeurs. Ces derniers pourront donner des instructions plus directes à la puce graphique et ainsi passer outre le pilote graphique, afin d’augmenter les performances.
Mais que vient faire GameBench dans tout ça ?
Cet outil grand public permet, en quelque sorte, de mettre la pression sur l’ensemble de la chaîne, des concepteurs de puces aux constructeurs de terminaux en passant par les développeurs de jeu. GameBench permet en effet de classer les smartphones entre eux en termes de puissance – et donc indirectement les puces entre elles, même si une même puce peut avoir des performances différentes selon les terminaux -, mais aussi les jeux entre eux. Il suffit de comparer les performances d’une liste de jeux sur un même terminal pour tenter de cerner leur degré d’optimisation. Un jeu très bien optimisé sera ainsi largement plus apprécié des joueurs qu’un titre beau graphiquement, mais trop gourmand.
Un jeu très bien optimisé sera ainsi largement plus apprécié des joueurs qu’un titre beau graphiquement, mais trop gourmand.
Jusqu’à récemment, les développeurs pouvaient se retrancher derrière la puissance insuffisante des puces mobiles. Mais on assiste depuis quelques mois à une croissance exponentielle de leur puissance, ce qui rend cet argument caduc.
Le second argument est puisé dans la difficulté d’optimiser un jeu, à cause de la complexité des API graphiques et de leur gourmandise en termes de puissance, causée par la latence induite par les pilotes graphiques et l’API. Un argument qui n’existera bientôt plus, grâce à l’arrivée de Vulkan. Toutefois, cette nouvelle API rendra plus difficile le développement d’un moteur graphique et physique. Les petits studios seront donc moins tentés de créer le leur, et seront plutôt encouragés à passer par des middlewares, comme les fameux moteurs Unity (Hitman Sniper, Lara Croft GO, etc.) et Marmalade (SimCity Buildit, Earn to Die 2, etc.) qui ont déjà prévu d’intégrer le support de Vulkan. Il sera donc plus facile, finalement, pour un studio, de sortir un jeu davantage optimisé et plus performant que les titres actuels, à moins d’utiliser un moteur développé en interne.
La question des options graphiques
GameBench devrait donc permettre à toute l’industrie mobile de pousser les performances vers le haut, et d’utiliser pleinement la puissance disponible des puces mobiles pour se rapprocher davantage de l’expérience disponible sous iOS. En effet, de nombreux rapports depuis quelques mois ont montré la supériorité d’iOS dans la majorité des jeux, que ce soit au rayon des performances ou en termes de qualité, même si l’inverse était vrai pour certains titres. Il arrive parfois qu’un jeu sous Android soit limité à 30 FPS, contrairement à son homologue iOS, ou encore que certains titres aient des graphismes moins élevés sur certains appareils. Il serait évidemment intéressant que les développeurs intègrent des options permettant aux joueurs de régler leur framerate, la définition d’affichage et le niveau de détail.
Ce type d’options est dans les faits délicat à mettre en œuvre. Elles existent sur certains titres comme Asphalt 8 qui se contente de régler le niveau de détails. Sur Grand Theft Auto, il est possible de réduire la définition. Mais certaines app empêchent tout changement de définition, comme Real Racing 3, bloqué en Full HD même sur un terminal QHD.
Un développeur présent sur place nous a confié que donner le choix des options graphiques aux joueurs avait déjà posé problème sur un titre mobile d’Activison. Les possesseurs de terminaux peu puissants poussaient tout de même les détails au maximum et se plaignaient des mauvaises performances du titre, ce qui s’est traduit par l’attribution de notes faiblardes sur le Play Store. Pour Trials Fusion, l’éditeur a donc choisi une autre stratégie : un mini benchmark transparent se lance lors de l’ouverture du jeu afin de régler automatiquement les options graphiques et physiques selon la puissance du téléphone. Pour l’anecdote, sur certains smartphones peu puissants, le seul fait d’activer plusieurs bandes-son en même temps peut faire ralentir le jeu.
GameBench et Vulkan, pour renforcer un écosystème fragmenté
Pousser l’industrie mobile dans le bon sens n’est donc pas une tâche facile. Vulkan devrait toutefois aider GameBench dans cette tâche, malgré l’énorme fragmentation des terminaux Android, du téléphone bas de gamme au superphone intégrant la dernière puce du moment.
GameBench a également d’autres pistes pour révolutionner l’industrie du benchmark mobile : proposer aux constructeurs et développeurs des badges prouvant la bonne optimisation d’un titre ou les bonnes performances d’un terminal. Ce système sera présenté lors de la GDC, en mars 2016 à San Francisco. Les constructeurs désireux de se voir attribuer un badge démontrant les bonnes performances du produit devront alors confier leur appareil à un organisme indépendant qui mesurera les performances du terminal selon le protocole de test de GameBench. En cas de succès de l’initiative, on peut donc espérer voir, sur les étals des revendeurs, des terminaux très performants arborer un joli badge « Performance maximale » avec le logo GameBench. Certains sites spécialisés comme FrAndroid pourraient également attribuer ce genre de badges en respectant la méthodologie fixée par l’éditeur.
Rejoignez-nous de 17 à 19h, un jeudi sur deux, pour l’émission UNLOCK produite par Frandroid et Numerama ! Actus tech, interviews, astuces et analyses… On se retrouve en direct sur Twitch ou en rediffusion sur YouTube !
En effet, merci à toi d'avoir précisé, j'étais trop dans l'étude du cas présent :)
Vulkan sera compatible avec les GPU le supportant. Je crains que le support soit réservé aux futurs puces, même si Qualcomm laissait entrevoir la possibilité de son support par les actuels Adreno de la série 400.
Sûrement une TV (ou moniteur) 4K bridée à 30 Hz à cause de l'absence de HDMI 2.0.
Pour info, nous testons Real Racing 3 avec les détails graphiques forcés au maximum. Dans les faits, en mode automatique, il est rare que les terminaux le fassent tourner en Xtra High. C'est en partie pour cette raison que la plupart des smartphones ont du mal à le faire tourner. Cela permet de mettre tous les appareils testés sur un même pied d'égalité, avec des réglages identiques. Le jeu est sûrement mal optimisé, et il commence à se faire vieux. Mais "qui peut le plus peut le moins" : Real Racing 3 est un genre d'étalon, qui permet de savoir où se situe le smartphone testé face à la concurrence. Et si l'appareil ne peine pas à faire tourner correctement RR3 en mode Xtra High, cela signifie que le terminal n'aura pas de mal avec les autres titres.
Modèle de ta tv 30hz que je rigole un coup
C'est sûrement le cas pour la plupart mais après est ce que les constructeurs vont s'en donner la peine ? Sûrement pas...
Du coup une question se pose : Puisque vous testez tout le temps GameBench sur RealRacing 3 et qu'AUCUN smartphone ne le fasse tourner correctement, est-ce dû à la puissance de ces derniers ou de l' application mal optimisée ? L'éditeur utilise-t-il GameBench lorsqu'il code pour améliorer le framerate ?<i>-------<a href="https://play.google.com/store/apps/details?id=com.frandroid.app">Envoyé depuis l'application FrAndroid pour smartphone</a></i>
Le gros problème de GameBench, c'est son prix... A 10€/mois, c'est clairement pas destiné au grand public... Pourtant, c'est dommage, ce serait bien utile pour vérifier les perfs de son téléphone et le l'impact qu'à l'ajout d'une coque sur le throttling, par exemple. J'en avais discuté par mail avec l'un des directeur de gamebench et ils vont bientôt changer leur modèle de rémunération, mais ce sera toujours trop cher à mon goût. Les 25 (ou 50, c'est pas encore sûr) premiers logs seront gratuit, et ensuite, ce sera 5$ / 100 logs. Ce sera déjà mieux que le tarif actuel.. <i>-------<a href="https://play.google.com/store/apps/details?id=com.frandroid.app">Envoyé depuis l'application FrAndroid pour smartphone</a></i>
C'est une interface de programmation permettant à un programme d'exposer une partie de ses fonctionnalités à d'autres programmes. Il n'y a pas forcément de matériel impliqué directement. La définition est valable, mais incomplète, elle ne couvre qu'un cas précis ;-)
(Note que c'est le cas concerné par l'article, mais la définition donnée ici ne précise pas qu'elle est incomplète)
Pas tout à fait. Une API, c'est une interface publique utilisable par d'autres applications à une librairie ou application quelconque. DirectX est une API, et il y a du matériel derrière, mais un moteur Web mais par exemple à disposition une API également. Le navigateur se branche sur son API, et le moteur Web n'accède pas lui même à du matériel. Il le fait via une autre API (et même plusieurs couches). La définition n'est pas exacte parce que limitant à un cas précis, en fait.
"Une API est une interface de programmation permettant de faire le lien entre le logiciel et le matériel" C'est éxactement ça non ? :)
Ne trouvant pas d'adapteur displayport hdmi 2.0 je tourne avec une TV comme moniteur, en 30 hertz. Et ça reste très utilisable. Bien plus que je ne le pensais. DOnc oui, utiliser 30 herts en bureautique, ce n'est pas le top mais tout à fait envisageable.
Quelle def. tu aurais donné ?
Est ce que le système Vulkan est susceptible d'être adapté aux appareils qui ne l'ont pas, avec une mise à jour ? Est ce que ce système ne sera compatible qu'avec les SoC qui sortiront à l'avenir ou bien ceux qui sont actuellement sur le marché seront compatible avec Vulkan?
Très bon article, même si la définition d'une API m'a un peu fait hérisser les cheveux...
Ce contenu est bloqué car vous n'avez pas accepté les cookies et autres traceurs. Ce contenu est fourni par Disqus.
Pour pouvoir le visualiser, vous devez accepter l'usage étant opéré par Disqus avec vos données qui pourront être utilisées pour les finalités suivantes : vous permettre de visualiser et de partager des contenus avec des médias sociaux, favoriser le développement et l'amélioration des produits d'Humanoid et de ses partenaires, vous afficher des publicités personnalisées par rapport à votre profil et activité, vous définir un profil publicitaire personnalisé, mesurer la performance des publicités et du contenu de ce site et mesurer l'audience de ce site (en savoir plus)
En cliquant sur « J’accepte tout », vous consentez aux finalités susmentionnées pour l’ensemble des cookies et autres traceurs déposés par Humanoid et ses partenaires.
Vous gardez la possibilité de retirer votre consentement à tout moment. Pour plus d’informations, nous vous invitons à prendre connaissance de notre Politique cookies.
Gérer mes choix