Benchmark Cheating Strikes Back: Comment OnePlus et d'autres se sont-ils fait prendre, et ce qu'ils ont fait à ce sujet

Il y a quelques années, il y a eu un tollé considérable lorsque de nombreux grands fabricants ont été pris en flagrant délit de tricherie. Les constructeurs de toutes tailles (dont Samsung, HTC, Sony et LG) ont pris part à cette course aux armements consistant à tenter de duper les utilisateurs sans se faire prendre, mais ils ont heureusement mis un terme à leurs tentatives de tricherie après des discussions franches avec des experts du secteur et des journalistes.

En 2013, il avait été découvert que le Samsung augmentait artificiellement la vitesse d'horloge de son processeur graphique dans certaines applications, ce qui a donné lieu à une série d'enquêtes sur la tricherie de référence de tous les fabricants. L'enquête a révélé à l'époque que presque tous les fabricants, à l'exception de Google / Motorola, se livraient à des pratiques de triche. Ils investissaient tous temps et argent dans leurs tentatives visant à optimiser les performances de leurs téléphones, sans impact positif sur leur utilisation quotidienne, pour inciter les utilisateurs à penser que leurs téléphones étaient plus rapides. qu'ils étaient réellement. Ces efforts de développement couvraient toute la gamme, depuis la définition des étages de vitesse d'horloge jusqu'à la configuration maximale des vitesses d'horloge, en passant par la création d'états de puissance plus élevés et de vitesses d'horloge spéciales disponibles uniquement lors de l'analyse comparative, ces efforts aboutissant souvent couple points de pourcentage augmente dans le repère.

Lors de sa découverte, il y avait une grande indignation, car ces tentatives de triche sur un point de repère vont à l’encontre du but même des points de repère. La plupart des tests ne sont pas là pour vous indiquer les performances théoriques maximales d'un téléphone dans des conditions de laboratoire qui ne sont pas reproductibles au quotidien, mais plutôt pour vous fournir un point de référence pour des comparaisons réelles entre téléphones. Après un peu de reproche publique (et quelques conversations privées) de publications techniques, de leaders de l'industrie et du grand public, la plupart des fabricants ont compris que la triche au point de référence n'était tout simplement pas acceptable et ont donc cessé. La plupart des rares personnes qui ne se sont pas arrêtées à ce moment-là se sont arrêtées peu de temps après, car de nombreux changements ont été apportés au nombre de points de repère exécutés, dans le but de décourager les tricheurs de points de référence (en réduisant les avantages qui en découlent). De nombreux points de repère ont été rallongés afin que la limitation thermique due à la maximisation des vitesses d'horloge devienne immédiatement apparente.

Lorsque nous avons interviewé John Poole, le créateur de Geekbench, le sujet de la triche sur les indices de référence et ce que des sociétés comme Primate Labs peuvent faire pour empêcher cela a été soulevé. En particulier, Primate Labs a rendu Geekbench 4 un peu plus long que Geekbench 3, en partie pour réduire les effets de la triche sur les critères de référence. Réduire les avantages afin de s'assurer que les coûts de développement de la triche de référence n'en valent pas la peine.

«Le problème est que, une fois que ces longues durées d’exécution auront lieu, si vous commencez à jouer en augmentant votre vitesse d'horloge ou en désactivant les gouverneurs, vous allez commencer à mettre le téléphone en danger réel. … Si vous allez y jouer… vous n'en tirerez pas autant. Vous pouvez toujours obtenir quelques pour cent, mais est-ce que cela en vaut vraiment la peine? »- John Poole


Qu'est-il arrivé

Malheureusement, nous devons signaler que certains fabricants ont recommencé à tricher, ce qui signifie que nous devrions être à nouveau à l'affût. Heureusement, les fabricants sont devenus de plus en plus réactifs face à ce genre de problèmes et, si l'attention est bien attirée, le problème peut être résolu rapidement. Il est un peu choquant de voir les fabricants mettre en œuvre la triche de référence compte tenu de la gravité de la dernière tentative (la dernière tentative a été tentée) (certaines références excluant complètement les dispositifs de triche de leurs listes de performances). Avec cette réaction qui contraste avec la maigreur des gains de performance résultant de la triche (avec la plupart des tentatives aboutissant à une augmentation du score inférieure à 5% la dernière fois), nous avions vraiment espéré que tout cela serait derrière nous.

Le moment choisi pour cette tentative est particulièrement inopportun. En effet, la tricherie de référence il y a quelques mois a quitté le monde comme une préoccupation purement enthousiaste et est entrée dans la sphère publique lorsque Volkswagen et Fiat Chrysler ont été surpris en train de tricher sur leurs valeurs de référence en matière d'émissions. Les deux sociétés ont mis en œuvre un logiciel permettant de détecter le moment auquel leurs voitures diesel étaient soumises à des tests de contrôle des émissions et leur ont demandé de passer à un mode de réduction des émissions qui voyait leur économie de carburant chuter, afin de concurrencer l'efficacité énergétique des voitures à essence tout en respectant les limites réglementaires. pour les tests d'émissions. Jusqu'à présent, le scandale a entraîné des amendes de plusieurs milliards de dollars, des coûts de rappel de plusieurs dizaines de dollars et des accusations ont été portées. Ce n’est certainement pas le genre de représailles que les constructeurs ne verraient jamais pour gonfler leurs scores de référence, qui servent uniquement à comparer les utilisateurs et ne sont pas utilisés. mesurer les exigences réglementaires.

En recherchant comment Qualcomm réalise des vitesses d’ouverture d’application plus rapides sur le tout nouveau Qualcomm Snapdragon 821, nous avons remarqué sur le OnePlus 3T quelque chose d’étrange que nous ne pouvions pas reproduire sur le Xiaomi Mi Note 2 ou le Google Pixel XL, entre autres périphériques Snapdragon 821. Notre rédacteur en chef, Mario Serrafero, utilisait Qualcomm Trepn et le visualiseur de performance Snapdragon pour surveiller la façon dont Qualcomm «accélère» la vitesse d'horloge du processeur lors de l'ouverture d'applications, et a constaté que certaines applications du OnePlus 3T ne retombaient pas dans leurs fonctions. vitesses de ralenti normales après ouverture. En règle générale, nous évitons de tester les tests de performance avec des outils de contrôle des performances ouverts chaque fois que possible en raison des frais de performances supplémentaires qu’ils entraînent (en particulier pour les périphériques non-Snapdragon où aucun outil de bureau officiel n’a été créé). Cependant, cet incident nous a aidés. remarquez un comportement étrange que nous aurions probablement raté autrement.

Lors de l'accès à certaines applications d'analyse comparative, les cœurs du OnePlus 3T resteraient au-dessus de 0, 98 GHz pour les petits cœurs et de 1, 29 GHz pour les gros cœurs, même lorsque la charge du processeur était tombée à 0%. C'est assez étrange, car normalement les deux jeux de cœurs baissent à 0, 31 GHz sur le OnePlus 3T lorsqu'il n'y a pas de charge. À la première vue, nous nous sommes inquiétés du fait que la mise à l'échelle du processeur de OnePlus avait simplement été définie de manière un peu étrange. Cependant, après des tests supplémentaires, nous avons conclu que OnePlus devait cibler des applications spécifiques. Notre hypothèse était que OnePlus ciblait ces tests de performance par nom et entrait dans un autre mode de mise à l'échelle du processeur pour remonter leurs scores. L’une de nos principales préoccupations était que OnePlus appliquait peut-être des restrictions thermiques plus souples dans ce mode afin d’éviter les problèmes qu’ils rencontraient avec OnePlus One, OnePlus X et OnePlus 2, où les téléphones traitaient les cœurs supplémentaires à venir en ligne pour le système multi- La section principale de Geekbench est donc médiocre, et parfois réduite considérablement (jusqu’à ce que le OnePlus X obtienne parfois un score inférieur dans la section à plusieurs noyaux par rapport à la section à un seul noyau). Vous pouvez trouver de fortes accélérations dans notre test OnePlus 2, où nous avons découvert que le dispositif pourrait perdre jusqu'à 50% de son score multi-core Geekbench 3. Plus tard, lorsque nous avons commencé à comparer la régulation et les thermiques d’un appareil à l’autre, le OnePlus 2 est devenu un exemple classique de ce que les constructeurs devraient éviter.

Nous avons contacté l'équipe de Primate Labs (les créateurs de Geekbench), qui ont joué un rôle déterminant dans la première vague de tricherie de référence, et nous avons collaboré avec eux pour des tests plus poussés. Nous avons apporté un OnePlus 3T au bureau de Primate Labs à Toronto pour une analyse préliminaire. Les tests initiaux comprenaient un vidage de la ROM qui a révélé que le OnePlus 3T recherchait directement plusieurs applications par leur nom. Le OnePlus 3T recherchait notamment Geekbench, AnTuTu, Androbench, Quadrant, Vellamo et GFXBench. Comme à ce stade, nous avions des preuves assez évidentes que OnePlus se livrait à une tricherie de référence, Primate Labs a conçu une version «Bob's Mini Golf Putt» de Geekbench 4. Grâce aux changements substantiels entre Geekbench 3 et 4, la version «Mini Golf» a dû être reconstruite à partir de zéro, spécialement pour ces tests. Cette version de Geekbench 4 est conçue pour éviter toute détection de benchmark, afin de permettre à Geekbench de fonctionner comme une application normale sur les téléphones qui trichent (aller au-delà du renommage de package qui trompe la plupart des tentatives de triche de benchmark).


Un exemple surprenant

Immédiatement après l'ouverture de l'application, la différence était claire. Le OnePlus 3T tournait au ralenti à 0, 31 GHz, comme il le fait dans la plupart des applications, plutôt qu'à 1, 29 GHz pour les grands cœurs et à 0, 98 GHz pour les petits cœurs, comme dans l'application Geekbench standard. OnePlus rendait le régulateur de processeur plus agressif, ce qui donnait à Geekbench un étage de vitesse artificielle artificiel qui n'existait pas dans la version cachée de Geekbench. Ce n'était pas basé sur la charge de travail du processeur, mais plutôt sur le nom du package de l'application, que la construction masquée pourrait tromper. Bien que la différence entre les exécutions individuelles soit minime, les relaxations de régulation thermique brillent dans notre test de performance soutenu, présenté ci-dessous.

D'après nos tests, il semble que cela soit une «fonctionnalité» d'Hydrogen OS depuis un certain temps maintenant, et n'a pas été ajouté à Oxygen OS jusqu'à ce que la communauté se prépare avant la publication de Nougat (après la fusion des deux ROM). Il est un peu décevant de voir, en particulier à la lumière des problèmes logiciels rencontrés par OnePlus ce mois-ci après la fusion des ROM, des vulnérabilités du chargeur de démarrage aux problèmes de conformité à la GPL. Nous espérons que, une fois la poussière retombée suite à la fusion des deux équipes, OnePlus reviendra à la forme et continuera à se positionner comme une option conviviale pour les développeurs.

Avec la version «Mini Golf» de Geekbench à la main, nous avons également commencé à tester d’autres téléphones pour tricher. Heureusement, nos tests ne montrent aucune tricherie de la part des entreprises impliquées dans le scandale il y a cinq ans. HTC, Xiaomi, Huawei, Honor, Google, Sony et d'autres semblent avoir des scores cohérents entre la version normale de Geekbench et la version «Mini Golf» sur nos appareils de test.

Malheureusement, nous avons trouvé des preuves possibles de la tricherie de référence que nous n’avons pas encore été en mesure de confirmer de la part de quelques autres sociétés, sur lesquelles nous étudierons de plus près. Le plus mauvais exemple de ce phénomène a été le Meizu Pro 6 Plus à moteur Exynos 8890, qui a poussé la triche de référence à un autre extrême.


Un exemple terrible

Meizu a toujours défini l’échelle de son processeur de manière extrêmement prudente. En particulier, ils configurent souvent leurs téléphones de sorte que les gros cœurs soient rarement connectés, même lorsqu'ils sont en «mode performance». Les processeurs phares (tels que l'excellent Exynos 8890) qu'ils utilisent dans leurs téléphones phares agissent alors comme des processeurs de milieu de gamme. L'année dernière, Anandtech a appelé Meizu pour sa mauvaise performance sur les tests JavaScript d'Anandtech sur le Meizu Pro 6 basé sur Mediatek Helio X25, et a noté que les gros noyaux restaient hors ligne pendant la plus grande partie du test (lorsque le test aurait dû fonctionnant presque exclusivement sur les gros noyaux). Anandtech a remarqué la semaine dernière qu'une mise à jour logicielle avait été transmise au Meizu Pro 6, ce qui permettait enfin au Meizu d'utiliser ces cœurs à fond. Matt Humrick, éditeur en chef du Smartphone chez Anandtech, a déclaré: «Après la mise à jour de Flyme OS 5.2.5.0G, le PRO 6 est nettement plus performant. Les scores de Kraken, WebXPRT 2015 et JetStream s'améliorent d'environ 2x-2.5x. Meizu a apparemment ajusté la valeur du seuil de charge, permettant ainsi aux threads de migrer plus fréquemment vers les cœurs A72 pour de meilleures performances. ”

Malheureusement, il semble que plutôt que d’améliorer la mise à l’échelle de la CPU de leurs nouveaux appareils afin d’obtenir de meilleurs scores de référence, ils semblent avoir configuré le téléphone pour qu’il utilise les grands cœurs lorsque certaines applications sont en cours d’exécution.

Lors de l'ouverture d'une application d'analyse comparative, notre Meizu Pro 6 Plus vous recommande de passer en «Mode performance» (qui suffit à lui seul pour confirmer qu'ils recherchent des noms de paquetages spécifiques), et cela semble faire une différence substantielle. En mode «Balance» standard, le téléphone affiche régulièrement des scores proches de 604 et 2220 sur les sections monocœur et multicœurs de Geekbench, mais en «mode performance», il affiche les scores 1473 et 3906, en grande partie grâce aux grands cœurs restés en veille. du test en “Mode balance” et de l’activation en “Mode performance”. Meizu semble verrouiller les petits cœurs à leur vitesse maximale de 1, 48 GHz et définir un plancher dur pour deux de leurs gros cœurs de 1, 46 GHz lorsqu’il exécute Geekbench en mode "Performance" (les deux autres grands cœurs étant autorisés à s’adapter librement, et assez agressif), que nous ne voyons pas lors de la construction du “Mini Golf” .

Le fait de pouvoir choisir entre un mode haute consommation et un mode basse consommation peut être une fonctionnalité intéressante, mais dans ce cas, il ne s’agit là que d’une simple astuce de salon. Le Meizu Pro 6 Plus affiche des scores décents en «Performance Mode» pour l’application Geekbench classique, mais lorsqu’il utilise la version «Mini Golf» de Geekbench, il redescend au même niveau de performance que lorsqu’il est réglé sur "Mode Balance". Les performances supérieures du Meizu Pro 6 Plus servent uniquement à l'analyse comparative et non à une utilisation quotidienne.

Il convient de noter que lorsque nous avons testé le Meizu Pro 6 Plus en «mode performance» avec la version secrète de Geekbench, les grands noyaux sont devenus opérationnels si nous enregistrions les vitesses d'horloge avec Qualcomm Trepn. Nous n'avons pas encore déterminé si le Meizu reconnaissait que Trepn fonctionnait et activait les grands cœurs en partie à cause de cela, ou s'il activait simplement les grands cœurs à cause de la charge de processeur supplémentaire qu'il créait. Il peut sembler contre-intuitif qu'une charge supplémentaire à l'arrière-plan (par exemple, lorsque nous avons conservé les graphiques de performances pendant le test) augmenterait les résultats d'un point de référence, mais la mise à l'échelle conservatrice de Meizu pourrait signifier que les frais généraux supplémentaires étaient suffisants pour le pousser. le bord et appelez les grands noyaux pour améliorer les performances de toutes les tâches.


Quand les OEM réceptifs adressent leurs commentaires…

Après nos tests, nous avons contacté OnePlus à propos des problèmes rencontrés. En réponse, OnePlus a rapidement promis de cesser de cibler les applications d'analyse comparative avec leur triche de référence, tout en ayant l'intention de le garder pour les jeux (qui font également l'objet d'une analyse de référence). Dans une future version d'OxygenOS, ce mécanisme ne sera pas déclenché par des points de repère . OnePlus a été réceptif à notre suggestion d'ajouter une bascule également, afin que les utilisateurs sachent ce qui se passe sous le capot, et à tout le moins, l'avantage injuste et trompeur des points de repère devrait être corrigé. En raison des vacances du Nouvel An chinois et de leur carnet de fonctions, il faudra peut-être un certain temps avant de voir les options de personnalisation destinées à l'utilisateur pour cette fonctionnalité. Bien que corriger le comportement à lui seul soit une amélioration, il est toujours un peu décevant de voir dans les applications normales (comme les jeux), car c’est une béquille pour cibler des applications spécifiques, au lieu d’améliorer l’échelle de performance réelle. En augmentant artificiellement l'agressivité du processeur, et donc la vitesse d'horloge d'applications spécifiques, au lieu d'améliorer la capacité de leurs téléphones à identifier les moments où elle nécessite des vitesses d'horloge plus élevées, OnePlus crée des performances incohérentes pour leurs téléphones, qui deviendront plus évidentes à mesure que le téléphone vieillit et plus de jeux que OnePlus n'a pas ciblés sont publiés. Cependant, la mise en œuvre permet actuellement aux jeux de mieux performer. OnePlus a également fourni une déclaration pour cet article, que vous pouvez lire ci-dessous:

«Afin de donner aux utilisateurs une meilleure expérience utilisateur dans les applications et les jeux gourmands en ressources, notamment graphiques, nous avons implémenté certains mécanismes dans la communauté et construit Nougat pour inciter le processeur à fonctionner de manière plus agressive. Le processus de déclenchement des applications d'analyse comparative ne sera pas présent dans les futures versions d'OxygenOS reposant sur OnePlus 3 et OnePlus 3T. '

Nous sommes heureux d’apprendre que OnePlus supprimera la triche de référence de leurs téléphones. À l'avenir, nous continuerons d'essayer de faire pression sur les équipementiers pour qu'ils soient plus conviviaux pour les consommateurs, et garderons un œil sur les futures tricheries de référence.

Malheureusement, la seule véritable solution à ce type de fraude est la vigilance constante . En tant que communauté passionnée de smartphones, nous devons rester vigilants face aux tentatives visant à tromper de tels utilisateurs. Ce qui nous intéresse, ce ne sont pas les scores de référence eux-mêmes, mais plutôt ce que les repères disent à propos des performances du téléphone. Bien que la triche de référence ne soit pas encore active sur le OnePlus 3 lors de son passage en revue, une simple mise à jour logicielle suffisait pour ajouter cette «fonctionnalité» trompeuse. Elle montre clairement que la vérification des périphériques lors du premier lancement ne suffit pas. Des problèmes tels que celui-ci peuvent être ajoutés des jours, des semaines, des mois, voire des années après le lancement du périphérique, ce qui gonfle artificiellement les moyennes mondiales recueillies par mois de référence, influant ainsi sur le résultat final de la base de données. Il convient de noter que même avec ces ajustements obligeant les fabricants à investir du temps et de l’argent pour se développer, nous n’observons généralement qu’une augmentation de quelques points de pourcentage des scores de référence (à l’exception de quelques cas marginaux comme Meizu, où la tricherie dissimule beaucoup plus de choses. problèmes). Quelques points de pourcentage, ce qui est bien inférieur à l’écart entre les appareils les plus performants et les moins performants. Nous pensons cependant qu'avec des périphériques utilisant un matériel de plus en plus similaire, ces points de pourcentage supplémentaires pourraient être le facteur décisif dans les tableaux de classement que les utilisateurs recherchent. Une meilleure optimisation des pilotes et une mise à l'échelle plus intelligente du processeur peuvent avoir un effet absolument énorme sur les performances du périphérique, avec une différence entre le score du périphérique le plus performant basé sur Qualcomm Snapdragon 820 et celui le moins performant (d'un constructeur majeur) dépassant 20% sur Geekbench. Vingt pour cent de l'optimisation du pilote, plutôt que quelques points de pourcentage en dépensant temps et argent pour tromper vos utilisateurs. Et cela ne concerne que les efforts de développement pouvant affecter les scores de référence. La plupart des avantages majeurs d'investir dans l'amélioration du logiciel d'un appareil n'apparaissent pas toujours dans les tests de performance, OnePlus offrant d'excellentes performances réelles de leurs appareils. Il faut vraiment que les efforts de développement d’une entreprise soient concentrés dans ce cas. Nous nous adressons à davantage d’entreprises qui trichent avec les indices de référence à mesure que nous les trouvons, et nous espérons qu’elles sont tout aussi réceptives que OnePlus.


Nous tenons à remercier une nouvelle fois l’équipe de Primate Labs d’avoir travaillé avec nous pour découvrir ce problème. Il aurait été nettement plus difficile de tester correctement Benchmark Tricher sans l'édition «Mini Golf» de Geekbench.