OnePlus et Meizu ont été surpris en train de tricher sur les benchmarks. XDA enquête sur comment cela s'est produit et sur ce qui peut être fait pour éviter que cela ne se reproduise.
Il y a quelques années, un tollé considérable a eu lieu lorsque de nombreux grands fabricants ont été surpris en train de tricher sur les benchmarks. OEM de toutes tailles (y compris Samsung, HTC, Sony, et LG) ont pris part à cette course aux armements pour tenter de tromper les utilisateurs sans se faire prendre, mais heureusement, ils ont finalement arrêté de tricher sur leurs benchmarks après quelques discussions franches avec experts de l'industrie et des journalistes.
En 2013, c'était découvert que Samsung augmentait artificiellement la vitesse d'horloge de son GPU dans certaines applications, déclenchant une série de enquêtes dans la triche de référence chez l'ensemble des fabricants. À l’époque, l’enquête avait révélé que presque tous les fabricants, à l’exception de Google/Motorola, se livraient à des tricheries sur les benchmarks. Ils investissaient tous du temps et de l'argent dans des tentatives visant à obtenir un peu plus de performances de leurs téléphones lors de tests de référence, de manière à ce que n'aurait aucun effet positif sur l'utilisation quotidienne, dans le but de tromper les utilisateurs en leur faisant croire que leurs téléphones étaient plus rapides qu'ils ne l'étaient en réalité étaient. Ces efforts de développement couvraient toute la gamme, depuis la définition de planchers de vitesse d'horloge jusqu'à forcer les vitesses d'horloge à leurs réglages maximum, jusqu'à même créer des vitesses d'horloge spéciales plus élevées. états de puissance et vitesses d'horloge spéciales qui n'étaient disponibles que lors de l'analyse comparative, ces efforts entraînant souvent une augmentation de quelques points de pourcentage seulement référence.
Il y a eu une grande indignation lorsque cela a été découvert, car ces tentatives de tricherie sur les benchmarks allaient à l'encontre de l'essence même des benchmarks eux-mêmes. La plupart des benchmarks ne sont pas là pour vous indiquer les performances théoriques maximales d'un téléphone dans des conditions de laboratoire qui ne le sont pas. reproductibles dans une utilisation quotidienne, mais ils sont plutôt là pour vous donner un point de référence pour des comparaisons réelles entre Téléphone (s. Après quelques réprimandes publiques (et quelques conversations privées) de la part de publications technologiques, de leaders de l'industrie et du grand public, la plupart des fabricants ont compris que la tricherie sur les benchmarks n'était tout simplement pas acceptable et ont cessé de fonctionner comme une mesure de précaution. résultat. La plupart de ceux qui ne se sont pas arrêtés à ce moment-là ont arrêté peu de temps après, car des changements substantiels ont été apportés. au nombre de benchmarks exécutés, dans le but de décourager la tricherie sur les benchmarks (en réduisant les avantages de il). De nombreux benchmarks ont été allongés afin que la limitation thermique due à la maximisation des vitesses d'horloge devienne immédiatement apparente.
Lorsque nous interviewé John Poole, le créateur de Geekbench, a abordé le sujet de la triche des benchmarks et de ce que des entreprises comme Primate Labs peuvent faire pour l'empêcher. Primate Labs en particulier a rendu Geekbench 4 un peu plus long que Geekbench 3, en partie pour réduire les effets de la triche des benchmarks. Réduire les bénéfices afin de garantir que le développement les coûts de la triche sur les benchmarks n'en valent pas la peine.
"Le problème est qu'une fois que nous avons ces grandes durées d'exécution, si vous commencez à jouer en augmentant votre horloge ou en désactivant les régulateurs ou quelque chose comme ça, vous allez commencer à mettre un réel danger dans le système. téléphone... Si vous voulez y jouer... vous n'en retirerez pas autant. Vous obtiendrez peut-être encore quelques pour cent, mais est-ce que cela en vaut vraiment la peine ?" - John Poole
Ce qui s'est passé
Malheureusement, nous devons signaler que certains équipementiers ont recommencé à tricher, ce qui signifie que nous devrions être à nouveau aux aguets. Heureusement, les fabricants sont de plus en plus sensibles à des problèmes comme celui-ci, et si l’on y prête l’attention voulue, cela peut être résolu rapidement. Il est un peu choquant de voir des fabricants tricher sur les benchmarks, compte tenu de la gravité des réactions négatives. la dernière tentative (certains benchmarks excluant complètement les dispositifs de triche de leurs performances) listes). Avec ce contrecoup contrastant avec la faiblesse des gains de performances résultant de la triche de référence (la plupart des tentatives ayant abouti à une augmentation du score de moins de 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, car il y a quelques mois, la triche sur les benchmarks a quitté le monde qui n'était qu'un simple inquiétude des passionnés, et est entrée dans la sphère publique lorsque Volkswagen et Fiat Chrysler ont toutes deux été surprises en train de tricher sur leurs émissions. des repères. Les deux sociétés ont mis en œuvre un logiciel pour détecter quand leurs voitures diesel étaient soumises à des tests d'émissions et les ont fait passer en mode faibles émissions. qui ont vu leur économie de carburant baisser, dans le but de rivaliser avec les voitures à essence en termes d'efficacité énergétique tout en restant dans les limites réglementaires d'émissions essais. Jusqu'à présent, le scandale a donné lieu à des milliards d'amendes, à des dizaines de milliards de frais de rappel et à des accusations portées -- certainement pas le genre de représailles Les OEM verraient un jour gonfler leurs scores de référence, qui sont uniquement destinés à des comparaisons entre utilisateurs et ne sont pas utilisés pour mesurer des mesures réglementaires. exigences.
Alors que étudier comment Qualcomm atteint des vitesses d'ouverture d'applications plus rapides sur le nouveau Qualcomm Snapdragon 821, nous avons remarqué quelque chose d'étrange sur le OnePlus 3T que nous n'avons pas pu reproduire sur le Xiaomi Mi Note 2 ou la Google Pixel XL, entre autres appareils Snapdragon 821. Notre rédacteur en chef, Mario Serrafero, utilisait Qualcomm Trepn et Snapdragon Performance Visualizer pour surveiller comment Qualcomm « booste » le processeur. vitesse d'horloge lors de l'ouverture des applications, et j'ai remarqué que certaines applications du OnePlus 3T ne retombaient pas à leur vitesse de ralenti normale après ouverture. En règle générale, nous évitons autant que possible de tester les benchmarks avec des outils de surveillance des performances ouverts en raison de la surcharge de performances supplémentaire qu'ils entraînent. (en particulier sur les appareils non Snapdragon où il n'y a pas d'outils de bureau officiels), mais lors de cet incident, ils nous ont aidés à remarquer un comportement étrange que nous aurions probablement manqué sinon.
Lors de l'entrée dans 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 tombait à 0 %. C'est assez étrange, car normalement les deux ensembles de cœurs descendent à 0,31 GHz sur le OnePlus 3T lorsqu'il n'y a pas de charge. En voyant cela pour la première fois, nous craignions que la mise à l'échelle du processeur de OnePlus soit simplement définie de manière un peu étrange, cependant, après des tests plus approfondis, nous sommes arrivés à la conclusion que OnePlus devait cibler des applications. Notre hypothèse était que OnePlus ciblait ces benchmarks par leur nom et entrait dans un autre mode de mise à l'échelle du processeur pour augmenter leurs scores de référence. L'une de nos principales préoccupations était que OnePlus établissait éventuellement des restrictions thermiques plus souples dans ce mode afin d'éviter les problèmes rencontrés avec le OnePlus. One, OnePlus X et OnePlus 2, où les téléphones géraient mal les cœurs supplémentaires mis en ligne pour la section multicœur de Geekbench, et Cela entraîne parfois une limitation substantielle (au point que le OnePlus X obtient parfois des résultats inférieurs dans la section multicœur par rapport à la section monocœur). section centrale). Vous pouvez trouver des limitations importantes dans notre Test du OnePlus 2, où nous avons constaté que l'appareil pouvait perdre jusqu'à 50 % de son score multicœur Geekbench 3. Plus tard, lorsque nous avons commencé à comparer la limitation et les températures entre les appareils, le OnePlus2 est devenu un exemple classique de ce que les équipementiers devraient éviter.
Nous avons contacté l'équipe de Laboratoires de primates (les créateurs de Geekbench), qui ont joué un rôle déterminant dans la révélation de la première vague de triche de référence, et se sont associés à eux pour des tests plus approfondis. Nous avons amené un OnePlus 3T au bureau de Primate Labs à Toronto pour une première analyse. Les tests initiaux comprenaient un dump ROM qui a révélé que le OnePlus 3T recherchait directement un certain nombre d'applications par leur nom. Plus particulièrement, le OnePlus 3T recherchait Geekbench, AnTuTu, Androbench, Quadrant, Vellamo et GFXBench. Comme à ce stade, nous avions des preuves assez claires que OnePlus se livrait à une triche de référence, Primate Labs a construit un «Le putt de mini-golf de Bob» version de Geekbench 4 pour nous. Grace à des changements substantiels entre Geekbench 3 et 4, le "Mini golf" La version a dû être reconstruite à partir de zéro spécifiquement pour ces tests. Cette version de Geekbench 4 est conçue pour éviter toute détection de benchmark, afin de permettre à Geekbench de fonctionner normalement. application sur les téléphones qui trichent (allant au-delà du changement de nom du package qui trompe la plupart des tentatives de référence tricherie).
Un exemple surprenant
Dès l’ouverture de l’application, la différence était évidente. Le OnePlus 3T tournait au ralenti à 0,31 GHz, comme c'est le cas dans la plupart des applications, plutôt qu'à 1,29 GHz pour les gros cœurs et 0,98 GHz pour les petits cœurs comme c'est le cas dans l'application Geekbench classique. OnePlus rendait le régulateur de processeur plus agressif, ce qui entraînait une vitesse d'horloge artificielle dans Geekbench qui n'existait pas dans la version cachée de Geekbench. Cela n’était pas basé sur la charge de travail du processeur, mais plutôt sur le nom du package de l’application, que la version cachée pouvait tromper. Bien que la différence entre les exécutions individuelles soit minime, les relaxations de limitation thermique brillent dans notre test de performances soutenu, illustré ci-dessous.
D'après nos tests, il semble que cela soit une « fonctionnalité » d'Hydrogen OS depuis un certain temps maintenant et qu'elle n'a pas été ajoutée à Oxygen OS jusqu'à ce que la communauté se construise avant la sortie de Nougat (après la deux ROM ont été fusionnées). C'est un peu décevant à voir, surtout à la lumière des problèmes logiciels que OnePlus a rencontrés ce mois-ci suite à la fusion des ROM, de vulnérabilités du chargeur de démarrage à Problèmes de conformité GPL. Nous espérons qu’à mesure que la poussière retombe après la fusion des deux équipes, OnePlus retrouvera sa forme et continuera à se positionner comme une option conviviale pour les développeurs.
Avec le "Mini golf" version de Geekbench en main, nous sommes sortis et avons également commencé à tester d'autres téléphones pour la triche de référence. Heureusement, nos tests n’ont révélé aucune tricherie de la part des entreprises impliquées dans le scandale il y a cinquante ans. HTC, Xiaomi, Huawei, Honor, Google, Sony et d'autres semblent avoir des scores cohérents entre la version standard de Geekbench et la version standard de Geekbench. "Mini golf" s'appuyer sur nos appareils de test.
Malheureusement, nous avons trouvé des preuves possibles de tricherie sur les benchmarks que nous n'avons pas encore pu confirmer auprès de quelques autres sociétés, sur lesquelles nous allons enquêter plus en détail. Le pire exemple est celui du Meizu Pro 6 Plus, équipé d'un Exynos 8890, qui a poussé la triche de référence à un autre extrême.
Un terrible exemple
Meizu a toujours défini la mise à l'échelle de son processeur de manière extrêmement conservatrice. Notamment, ils configurent souvent leurs téléphones de manière à ce que les gros cœurs soient rarement en ligne, même lorsqu'ils sont en « mode performance », ce qui rend les processeurs phares (comme l'excellent Exynos 8890) qu’ils intègrent à leurs téléphones phares agissent comme des processeurs de milieu de gamme. Cela a atteint son paroxysme l'année dernière lorsque Anandtech a appelé Meizu pour ses mauvaises performances sur les tests JavaScript d'Anandtech sur le Meizu Pro 6 basé sur Mediatek Helio X25, et a noté que les gros cœurs sont restés hors ligne pendant la majeure partie du test (alors que le test aurait dû s'exécuter presque exclusivement sur le gros cœur). noyaux). Anandtech a remarqué la semaine dernière qu'une mise à jour logicielle avait été apportée au Meizu Pro 6, ce qui permettait enfin au Meizu d'utiliser ces cœurs au maximum. Matt Humrick, rédacteur en chef des smartphones d'Anandtech, remarqué que "Après la mise à jour vers Flyme OS 5.2.5.0G, le PRO 6 fonctionne nettement mieux. Les scores Kraken, WebXPRT 2015 et JetStream s'améliorent d'environ 2x à 2,5x. Meizu a apparemment ajusté la valeur du seuil de charge, permettant 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 du processeur de leurs nouveaux appareils afin d'obtenir de meilleurs résultats. scores de référence, ils semblent avoir configuré le téléphone pour qu'il passe à l'utilisation des gros cœurs lorsque certaines applications sont en cours d'exécution.
Lors de l'ouverture d'une application de benchmarking, notre Meizu Pro 6 Plus vous recommande de passer en « Mode Performance » (qui seul suffit à confirmer qu'ils recherchent des noms de paquets spécifiques), et cela semble faire une différence substantielle. En mode « Balance Mode » standard, le téléphone obtient systématiquement des scores d'environ 604 et 2 220 dans les sections monocœur et multicœur de Geekbench, mais dans En « Mode Performance », il obtient des scores de 1 473 et 3 906, en grande partie grâce au fait que les gros cœurs restent éteints pendant la majeure partie du test en « Mode Balance » et s'allument en mode « Performance ». "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 lors de l'exécution. Geekbench en « Mode Performance » (les deux autres gros cœurs étant autorisés à évoluer librement et de manière assez agressive), ce que nous ne voyons pas lorsque exécuter le "Mini golf" construire.
Bien que pouvoir choisir entre un mode haute puissance et un mode basse consommation puisse être une fonctionnalité intéressante, dans ce cas, cela ne semble être rien de plus qu'une astuce de salon. Le Meizu Pro 6 Plus obtient des scores décents en « Mode Performance » pour l'application Geekbench standard, mais lors de l'utilisation du "Mini golf" version de Geekbench, il retombe au même niveau de performances que lorsqu'il est réglé sur « Mode Balance ». L'état de performance plus élevé du Meizu Pro 6 Plus est uniquement destiné à l'analyse comparative, et non à une utilisation quotidienne réelle.
Une chose à noter est que lorsque nous avons testé le Meizu Pro 6 Plus en « Mode Performance » avec le secret version de Geekbench, les gros cœurs étaient mis en ligne si nous enregistrions les vitesses d'horloge avec Qualcomm Trepn. Nous n'avons pas encore déterminé si le Meizu reconnaît que Trepn fonctionne et allume les gros cœurs dans en partie à cause de cela, ou s'il allume simplement les gros cœurs à cause de la charge CPU supplémentaire qu'il crée. Bien qu'il puisse sembler contre-intuitif qu'une charge supplémentaire en arrière-plan (comme lorsque nous maintenions les graphiques de performances activés pendant le test) puisse augmenter Selon les résultats d'un benchmark, la mise à l'échelle conservatrice de Meizu pourrait signifier que la surcharge supplémentaire était suffisamment pour le pousser à bout et appeler les gros cœurs à l'action, améliorant ainsi les performances de tous Tâches.
Lorsque les constructeurs OEM réceptifs répondent aux commentaires...
Suite à nos tests, nous avons contacté OnePlus au sujet des problèmes que nous avons détectés. En réponse, OnePlus a rapidement promis de cesser de cibler les applications d'analyse comparative avec leur triche de référence, mais a toujours l'intention de la conserver pour les jeux (qui sont également évalués). Dans une future version d'OxygenOS, ce mécanisme ne sera pas déclenché par des benchmarks. OnePlus a été réceptif à notre suggestion d'ajouter également une bascule, afin que les utilisateurs sachent ce qui se passe. sous le capot, et à tout le moins, l'avantage injuste et trompeur dans les indices de référence devrait être corrigée. Cependant, en raison des vacances du Nouvel An chinois et de leur retard dans les fonctionnalités, il faudra peut-être un certain temps avant de voir les options de personnalisation destinées aux utilisateurs pour cette fonctionnalité de performance. Même si la correction du comportement constitue à elle seule une amélioration, elle reste un peu décevante à voir régulièrement applications (comme les jeux), car il s'agit d'une béquille pour cibler des applications spécifiques, au lieu d'améliorer les performances réelles mise à l'échelle. 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 leur téléphone à identifier quand il a réellement besoin d'une plus grande vitesse. vitesses d'horloge, OnePlus crée des performances incohérentes pour leurs téléphones, ce qui ne deviendra que plus évident à mesure que le téléphone vieillit et que de plus en plus de jeux que OnePlus n'a pas ciblés sont libéré. Cependant, la mise en œuvre permet actuellement aux jeux de mieux fonctionner. 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, en particulier gourmands en graphiques. ceux-ci, nous avons implémenté certains mécanismes dans la communauté et Nougat builds pour déclencher le processeur pour qu'il fonctionne davantage de manière agressive. Le processus de déclenchement des applications d'analyse comparative ne sera pas présent dans les prochaines versions d'OxygenOS sur OnePlus 3 et OnePlus 3T.
Nous sommes heureux d'apprendre que OnePlus supprimera la triche de référence de ses téléphones. À l’avenir, nous continuerons à tenter de faire pression sur les équipementiers pour qu’ils soient plus conviviaux pour le consommateur chaque fois que cela est possible, et nous garderons un œil sur les futures tricheries sur les benchmarks.
Malheureusement, la seule vraie réponse à ce type de tromperie est une vigilance constante.. En tant que communauté de passionnés de smartphones, nous devons garder un œil sur les tentatives visant à tromper les utilisateurs de cette manière. Ce ne sont pas les scores de référence eux-mêmes qui nous intéressent, mais plutôt ce qu’ils disent sur les performances du téléphone. Alors que la triche de référence n'était pas encore active sur le OnePlus3 lorsque nous l’avons examiné, une simple mise à jour logicielle suffisait pour ajouter cette « fonctionnalité » trompeuse, et illustre clairement que vérifier les appareils pour détecter toute triche de référence lors de leur premier lancement n'est pas assez. Des problèmes comme celui-ci peuvent être ajoutés artificiellement des jours, des semaines, des mois ou même des années après le lancement de l'appareil. gonfler les moyennes mondiales recueillies par les références des mois plus tard, influençant la base de données finale résultat. Il convient de noter que même avec ces ajustements, les fabricants ont dû investir du temps et de l'argent pour développer, nous ne constatons généralement qu’une augmentation de quelques points de pourcentage des scores de référence (à l'exclusion de quelques cas marginaux comme Meizu, où la tricherie masque des problèmes beaucoup plus importants). Quelques points de pourcentage, ce qui est bien inférieur à l’écart entre les appareils les plus performants et les moins performants. Nous dirions cependant qu'avec des appareils dotés d'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 consultent finalement. Une meilleure optimisation des pilotes et une mise à l'échelle plus intelligente du processeur peuvent avoir un effet absolument énorme sur les performances de l'appareil, avec la différence entre le score de l'appareil basé sur Qualcomm Snapdragon 820 le plus performant et celui du moins performant (d'un grand OEM) dépassant 20 % sur Banc de geek. Vingt pour cent proviennent de l'optimisation des pilotes, plutôt que quelques points de pourcentage du temps et de l'argent dépensés pour tromper vos utilisateurs. Et cela ne parle que des efforts de développement qui peuvent affecter les scores de référence. Bon nombre des plus grands avantages d’investir dans l’amélioration du logiciel d’un appareil n'apparaissent pas toujours sur les benchmarks, OnePlus offrant d'excellentes performances réelles sur ses appareils. Dans ce cas, il devrait vraiment être clair sur quoi concentrer les efforts de développement d’une entreprise. Nous nous tournons vers davantage d’entreprises qui trichent sur les benchmarks au fur et à mesure que nous les trouvons, et nous espérons qu’elles seront tout aussi réceptives que OnePlus.
Nous tenons à remercier une fois de plus l'équipe de Primate Labs pour avoir travaillé avec nous pour découvrir ce problème. Il aurait été beaucoup plus difficile de tester correctement Benchmark Cheating sans l'édition « Mini Golf » de Geekbench.