Accueil » Actualité » Benchmarks mobiles : entre triche et optimisation

Benchmarks mobiles : entre triche et optimisation

Hier, nous relevions que Samsung est accusé de tricher dans les benchmarks de son Galaxy S 4, en augmentant artificiellement la fréquence du GPU et du CPU. Et il y a peu, nous allons y revenir, des résultats de benchmarks mettaient en avant de façon importante les CPU d’Intel avant que — surprise… — on se rende compte que la comparaison était biaisée. Nous avons donc décidé de revenir sur la triche et l’optimisation dans les mobiles.

Triche, optimisations et mobile

Premièrement, un peu de sémantique : triche ou optimisations ? La distance est mince entre les deux, et les développeurs de pilotes ou d’OS font évidemment tout pour garder le flou sur ce point. Faisons simple : pour nous, une optimisation est à l’avantage de l’utilisateur, alors que tricher, c’est fausser les résultats. La différence concrète ? Quand NVIDIA ou AMD améliorent les pilotes de leurs GPU pour qu’un jeu à la mode (et utilisé pour tester) tourne mieux, c’est de l’optimisation. Les utilisateurs voient (parfois) les résultats : ça fonctionne mieux. Quand les mêmes constructeurs utilisent des versions modifiées du test ou dégradent volontairement le rendu en détectant 3D Mark (par exemple), ou quand un constructeur augmente la fréquence maximale de son GPU dans les tests, c’est de la triche : l’utilisateur ne gagne rien.

Le cas AnTuTu

Image 1 : Benchmarks mobiles : entre triche et optimisationDes différences criantesRécemment, un cas intéressant a été montré : un test avec le benchmark AnTuTu, très utilisé, montrait que les processeurs Intel étaient plus rapides que les processeurs ARM, avec de gros écarts en faveur de l’Atom. Petit problème, AnTuTu était le seul test de performances permettant de mesurer une telle différence (et il était aussi — évidemment — le plus utilisé dans la communication d’Intel). Après quelques recherches, différentes choses sont apparues.

La première, c’est qu’AnTuTu est optimisé pour les puces Intel. Il est compilé avec le logiciel d’Intel et tire totalement parti de l’Atom, alors que la version ARM d’AnTuTu est compilée de façon basique et ne tire par exemple pas parti des instructions SIMD NEON, pourtant capables d’accélérer certains traitements. La différence est en partie liée à une grande disparité dans les SoC ARM — une puce populaire comme Tegra 2 en son temps ne propose pas NEON — mais elle empêche de facto une comparaison entre les versions ARM et Intel.

La seconde, c’est que la version d’AnTuTu utilisée pour les tests, la 3.3.1, était visiblement buggée : une partie du test n’était pas exécutée sur les puces Intel et les scores étaient donc artificiellement élevés. Avec la version 3.3.2, sortie peu après sans les bugs, l’Atom perd 20 % au total et le test de la vitesse de la mémoire RAM voit ses résultats diminuer de 50 %.

Point intéressant à noter, AnTuTu est par ailleurs un des tests que Samsung détecte avec son Galaxy S 4, ce qui amplifie encore la différence…

De la comparaison entre architectures

Sans même parler d’optimisations ou de triche, le problème vient de la fiabilité des benchmarks : GeekBench 2, très utilisé, n’utilise par exemple pas NEON sur les smartphones Android, pour la même raison qu’AnTuTu. Plus généralement, les logiciels Android sont compilés sans optimisations particulières et — dans certains cas — en mode ARMv6, pour fonctionner sur les « vieux » processeurs, alors que les logiciels Intel sont généralement compilés avec ICC, le logiciel d’Intel qui optimise évidemment le code pour les processeurs Atom, ce qui introduit un biais au départ.

De plus, comme nous l’avons vu, Samsung est soupçonné de tricher dans les benchmarks et on peut supposer que ce n’est pas une première. Il est d’ailleurs assez paradoxal de constater que Samsung triche avec un appareil qui — même sans ça — reste un des plus rapides de sa catégorie.

Le vrai problème est évidemment de notre côté, la presse spécialisée : comment tester ? Les solutions utilisées sous Windows avec un PC ne sont pas applicables simplement : les jeux détectent les GPU et appliquent leurs réglages et des outils comme FRAPS n’existent pas. De plus, il n’est pas toujours possible de tester à une définition précise. Les benchmarks, comme on le voit, sont assez faillibles, et la seule solution consiste à multiplier les tests, comparer les résultats et essayer de détecter les anomalies, comme les résultats des CPU Intel sous AnTuTu, mais ce n’est pas toujours évident.

En conclusion, méfiez-vous des tests et essayez de prendre l’appareil en main avant de l’acheter : les tests ne font pas tout et ils ne sont pas infaillibles… Maintenant, la question du jour : prenez-vous en compte les résultats des tests de performances pour acheter un smartphone ou une tablette ?