GameBench est un outil permettant de relever et d’analyser les performances et le comportement d’un appareil mobile à l’usage. Nous l’utilisons par exemple dans la partie performances de nos tests de smartphones et tablettes. Mais GameBench s’adresse également aux constructeurs et éditeurs, puisque certains acteurs tels que Samsung, Meizu, mais aussi Facebook utilisent le logiciel lors de la conception de leurs appareils. La force de GameBench est en fait de pouvoir mesurer les performances en utilisation réelle des applications et jeux, quand d’autres benchmark ne reflètent pas toujours la réalité. GameBench pourrait donc pousser toute l’industrie mobile dans la bonne direction, afin de limiter la triche, d’augmenter les performances réelles et non théoriques des appareils, et de forcer les développeurs à optimiser les applications. Mais pour y arriver, le chemin est assez tortueux.

GameBench Frandroid

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équence 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.

benchmark5

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.

FPS GameBench

Le framerate d’une session de 7 minutes de Facebook avec le LG G4

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 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.

GameBench Meizu Pro 5

Meizu utilise GameBench pour faire la pub de son Pro 5

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
  • Google
  • Unity
  • Marmalade
  • Facebook

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 types d’outils et font constamment évoluer leurs puces pour prendre en charge 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, au final, 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 en effet 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.

GTA

Les options graphiques de GTA

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.

Lien Youtube
Chaine Youtube FrAndroid

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.