Benchmark-Betrug schlägt zurück: Wie OnePlus und andere auf frischer Tat ertappt wurden und was sie dagegen unternommen haben

OnePlus und Meizu wurden beim Schummeln bei Benchmarks erwischt. XDA untersucht, wie es passiert ist und was getan werden kann, um zu verhindern, dass es erneut passiert.

Vor einigen Jahren gab es großen Aufruhr, als zahlreiche große Hersteller beim Schummeln bei Benchmarks erwischt wurden. OEMs aller Größen (einschließlich Samsung, HTC, Sony, und LG) beteiligten sich an diesem Wettrüsten, bei dem versucht wurde, Benutzer zu täuschen, ohne erwischt zu werden, aber zum Glück haben sie nach einigen offenen Diskussionen mit dem Benchmark-Schummeln schließlich aufgehört Branchenexperten und Journalisten.

Im Jahr 2013 war es so entdeckt dass Samsung seine GPU-Taktraten in bestimmten Anwendungen künstlich erhöhte, was eine Reihe von Problemen auslöste Untersuchungen zum Benchmark-Schummeln über die gesamte Herstellerpalette hinweg. Damals ergab die Untersuchung, dass fast alle Hersteller außer Google/Motorola Benchmark-Betrug betrieben. Sie alle investierten Zeit und Geld in den Versuch, in Benchmarks ein wenig mehr Leistung aus ihren Handys herauszuholen, und zwar auf eine Art und Weise, die das Ziel verfolgt würde sich nicht positiv auf die alltägliche Nutzung auswirken und den Nutzern vorgaukeln, ihre Telefone seien schneller, als sie tatsächlich sind war. Diese Entwicklungsbemühungen erstreckten sich über die gesamte Bandbreite, von der Festlegung von Mindesttaktraten über das Erzwingen maximaler Taktraten bis hin zur Schaffung spezieller höherer Taktraten Energiezustände und spezielle Taktraten, die nur beim Benchmarking verfügbar waren, wobei diese Bemühungen oft nur zu einer Erhöhung um ein paar Prozentpunkte führten Benchmark.

Als dies entdeckt wurde, herrschte große Empörung, da diese Benchmark-Betrugsversuche im Widerspruch zu den eigentlichen Zielen der Benchmarks standen. Die meisten Benchmarks sind nicht dazu da, Ihnen die theoretische maximale Leistung eines Telefons unter Laborbedingungen zu verraten, die das nicht sind Sie sind im täglichen Gebrauch reproduzierbar, sondern dienen vielmehr dazu, Ihnen einen Bezugspunkt für reale Vergleiche zu bieten Telefone. Nach einigen öffentlichen Beschimpfungen (und einigen privaten Gesprächen) von Technologiepublikationen, Branchenführern und anderen In der breiten Öffentlichkeit verstanden die meisten Hersteller, dass Benchmark-Betrug einfach nicht akzeptabel sei, und hörten damit auf Ergebnis. Die meisten der wenigen, die an diesem Punkt nicht aufhörten, hörten bald darauf auf, da wesentliche Änderungen vorgenommen wurden wie viele Benchmarks ausgeführt werden, um Benchmark-Betrug zu unterbinden (indem der Nutzen verringert wird). Es). Viele Benchmarks wurden verlängert, damit die thermische Drosselung durch die Maximierung der Taktraten sofort sichtbar wird.

Wenn wir interviewt John Poole, der Erfinder von Geekbench, kam auf das Thema Benchmark-Betrug und darauf, was Unternehmen wie Primate Labs tun können, um dies zu verhindern. Insbesondere Primate Labs hat Geekbench 4 deutlich länger gemacht als Geekbench 3, teilweise um die Auswirkungen von Benchmark-Betrug zu reduzieren. Reduzierung der Leistungen, um sicherzustellen, dass die Entwicklung Die Kosten für Benchmark-Cheats lohnen sich nicht.

„Das Problem ist, dass wir, sobald wir diese großen Laufzeiten haben, mit dem Spielen beginnen, indem wir die Uhr hochfahren Geschwindigkeiten oder das Deaktivieren von Reglern oder ähnliches, Sie werden anfangen, eine echte Gefahr in die Welt zu bringen Telefon... Wenn du es spielst... da wirst du nicht so viel rausholen. Vielleicht bekommen Sie immer noch ein paar Prozent, aber ist es das wirklich wert?“ – John Poole


Was ist passiert

Leider müssen wir berichten, dass einige OEMs wieder mit dem Schummeln begonnen haben, sodass wir noch einmal auf der Hut sein sollten. Glücklicherweise reagieren die Hersteller zunehmend auf solche Probleme, und wenn man ihnen die richtige Aufmerksamkeit schenkt, kann das Problem schnell behoben werden. Es ist ein wenig schockierend zu sehen, wie Hersteller Benchmark-Betrug anwenden, wenn man bedenkt, wie schlimm die Gegenreaktion war Das letzte Mal, als es versucht wurde (wobei einige Benchmarks betrügerische Geräte vollständig von ihrer Leistung ausschlossen). Listen). Dieser Rückschlag steht im Gegensatz dazu, wie gering die Leistungssteigerungen durch Benchmark-Betrug normalerweise sind (bei den meisten). (Während der Versuche beim letzten Mal zu weniger als 5 % Punktesteigerung führten), hatten wir wirklich gehofft, dass dies alles hinter uns liegen würde uns.

Der Zeitpunkt dieses Versuchs ist besonders ungünstig, da Benchmark-Betrug vor ein paar Monaten nicht mehr nur ein reiner Betrug war Enthusiastensorge und gelangte an die Öffentlichkeit, als Volkswagen und Fiat Chrysler beim Schummeln bei ihren Emissionen erwischt wurden Maßstäbe. Beide Unternehmen implementierten eine Software, um zu erkennen, wann ihre Dieselfahrzeuge einer Emissionsprüfung unterzogen wurden, und ließen sie in einen emissionsarmen Modus wechseln bei denen der Kraftstoffverbrauch sank, um mit Benzinautos hinsichtlich der Kraftstoffeffizienz zu konkurrieren und gleichzeitig die gesetzlichen Grenzwerte für Emissionen einzuhalten Tests. Bisher hat der Skandal zu Bußgeldern in Milliardenhöhe, Rückrufkosten in zweistelliger Milliardenhöhe und Anklagen geführt – sicherlich keine Vergeltung dieser Art OEMs würden jemals eine Überhöhung ihrer Benchmark-Scores dulden, die lediglich für Benutzervergleiche dienen und nicht zur Messung regulatorischer Vorgaben herangezogen werden Anforderungen.

Während Wir untersuchen, wie Qualcomm schnellere App-Öffnungsgeschwindigkeiten erreicht Beim damals neuen Qualcomm Snapdragon 821 ist uns etwas Seltsames aufgefallen OnePlus 3T dass wir auf dem nicht reproduzieren konnten Xiaomi Mi Note 2 oder der Google Pixel XL, unter anderen Snapdragon 821-Geräten. Unser Chefredakteur Mario Serrafero nutzte Qualcomm Trepn und den Snapdragon Performance Visualizer, um zu überwachen, wie Qualcomm die CPU „boostet“. Die Taktrate beim Öffnen von Apps fiel auf und es fiel mir auf, dass bestimmte Apps auf dem OnePlus 3T danach nicht wieder auf ihre normale Leerlaufgeschwindigkeit zurückfielen Öffnung. Als allgemeine Faustregel gilt, dass wir es nach Möglichkeit vermeiden, Benchmarks mit geöffneten Leistungsüberwachungstools zu testen, da sie einen zusätzlichen Leistungsaufwand mit sich bringen (insbesondere bei Nicht-Snapdragon-Geräten, auf denen es keine offiziellen Desktop-Tools gibt), aber in diesem Fall haben sie uns geholfen, ein seltsames Verhalten zu bemerken, das wir wahrscheinlich übersehen hätten ansonsten.

Bei der Eingabe bestimmter Benchmarking-Apps blieben die Kerne des OnePlus 3T bei den kleinen Kernen über 0,98 GHz und bei den großen Kernen bei 1,29 GHz, selbst wenn die CPU-Auslastung auf 0 % sank. Das ist ziemlich seltsam, da beim OnePlus 3T normalerweise beide Kernsätze auf 0,31 GHz herunterfallen, wenn keine Last vorhanden ist. Als wir das zum ersten Mal sahen, machten wir uns Sorgen, dass die CPU-Skalierung von OnePlus einfach etwas seltsam eingestellt war. Bei weiteren Tests kamen wir jedoch zu dem Schluss, dass OnePlus spezifisch darauf abzielen muss Anwendungen. Unsere Hypothese war, dass OnePlus namentlich auf diese Benchmarks abzielte und in einen alternativen CPU-Skalierungsmodus wechselte, um seine Benchmark-Ergebnisse zu steigern. Eine unserer Hauptsorgen war, dass OnePlus in diesem Modus möglicherweise lockerere thermische Beschränkungen festlegt, um die Probleme zu vermeiden, die sie mit OnePlus hatten Eins, OnePlus Gelegentlich kam es dadurch zu einer erheblichen Drosselung (bis zu dem Punkt, an dem das OnePlus X im Multi-Core-Bereich manchmal schlechter abschnitt als im Single-Core-Bereich). Kernteil). Starkes Throttling findet man bei uns Testbericht zum OnePlus 2Dabei stellten wir fest, dass das Gerät bis zu 50 % seines Geekbench-3-Multi-Core-Scores einbüßen konnte. Als wir später anfingen, Drosselung und Thermik geräteübergreifend zu vergleichen, wurde das OnePlus 2 wurde zu einem Lehrbeispiel dafür, was OEMs vermeiden sollten.

Wir haben das Team unter kontaktiert Primatenlabore (die Macher von Geekbench), die maßgeblich an der Aufdeckung der ersten Welle von Benchmark-Betrug beteiligt waren, und arbeiteten mit ihnen für weitere Tests zusammen. Wir brachten ein OnePlus 3T für eine erste Analyse zum Büro von Primate Labs in Toronto. Der erste Test beinhaltete einen ROM-Dump, der ergab, dass das OnePlus 3T direkt nach einer ganzen Reihe von Apps namentlich suchte. Vor allem suchte das OnePlus 3T nach Geekbench, AnTuTu, Androbench, Quadrant, Vellamo und GFXBench. Da wir zu diesem Zeitpunkt ziemlich eindeutige Beweise dafür hatten, dass OnePlus Benchmark-Betrug begangen hat, hat Primate Labs eine erstellt „Bobs Minigolf-Putt“ Version von Geekbench 4 für uns. Danke an die wesentliche Änderungen zwischen Geekbench 3 und 4, die "Minigolf" Die Version musste speziell für diesen Test von Grund auf neu erstellt werden. Diese Version von Geekbench 4 ist so konzipiert, dass jegliche Benchmark-Erkennung vermieden wird, damit Geekbench normal ausgeführt werden kann Anwendung auf Telefonen, die betrügen (und geht über die Paketumbenennung hinaus, die die meisten Benchmark-Versuche täuscht). schummeln).


Ein überraschendes Beispiel

Schon beim Öffnen der App war der Unterschied klar. Das OnePlus 3T lief im Leerlauf mit 0,31 GHz, wie es in den meisten Apps der Fall ist, und nicht mit 1,29 GHz für die großen Kerne und 0,98 GHz für die kleinen Kerne, wie es in der regulären Geekbench-App der Fall ist. OnePlus hat den CPU-Regler aggressiver gestaltet, was zu einer praktischen Untergrenze für die künstliche Taktrate in Geekbench führte, die es im versteckten Geekbench-Build nicht gab. Es basierte nicht auf der CPU-Auslastung, sondern auf dem Paketnamen der App, den der versteckte Build täuschen konnte. Während der Unterschied in den einzelnen Durchläufen minimal war, glänzen die Lockerungen der thermischen Drosselung in unserem Dauerleistungstest (siehe unten).

Aus unseren Tests geht hervor, dass dies schon seit einiger Zeit ein „Feature“ von Hydrogen OS ist und erst bei den Community-Builds im Vorfeld der Nougat-Veröffentlichung (nach dem) zu Oxygen OS hinzugefügt wurde zwei ROMs wurden zusammengeführt). Dies ist etwas enttäuschend, insbesondere angesichts der Softwareprobleme, die OnePlus diesen Monat nach der Zusammenführung der ROMs hatte Bootloader-Schwachstellen Zu Probleme mit der GPL-Konformität. Wir sind zuversichtlich, dass OnePlus zu seiner alten Form zurückkehren und sich weiterhin als entwicklerfreundliche Option positionieren wird, wenn sich der Staub nach dem Zusammenschluss der beiden Teams legt.

Mit dem "Minigolf" Nachdem wir die Geekbench-Version in der Hand hatten, begannen wir, auch andere Telefone auf Benchmark-Betrug zu testen. Glücklicherweise zeigen unsere Tests, dass die Unternehmen, die vor einem halben Jahrzehnt in den Skandal verwickelt waren, nicht betrogen haben. HTC, Xiaomi, Huawei, Honor, Google, Sony und andere scheinen zwischen dem regulären Geekbench-Build und dem konstante Ergebnisse zu erzielen "Minigolf" Bauen Sie auf unseren Prüfgeräten auf.

Leider haben wir bei einigen anderen Unternehmen, die wir weiter untersuchen werden, mögliche Hinweise auf Benchmark-Betrug gefunden, die wir noch nicht bestätigen konnten. Das schlimmste Beispiel dafür war das Meizu Pro 6 Plus mit Exynos 8890-Prozessor, das den Benchmark-Schummel auf ein neues Extrem brachte.


Ein schreckliches Beispiel

Meizu hat seine CPU-Skalierung in der Vergangenheit äußerst konservativ eingestellt. Bemerkenswerterweise richten sie ihre Telefone oft so ein, dass die großen Kerne selbst im „Leistungsmodus“ selten online gehen, wodurch die Flaggschiff-Prozessoren (wie die Excellent Exynos 8890), die sie in ihre Flaggschiff-Telefone einbauen, wirken wie Mittelklasse-Prozessoren. Dies spitzte sich letztes Jahr zu, als Anandtech kritisierte Meizu wegen seiner schlechten Leistung bei den JavaScript-Benchmarks von Anandtech auf dem Mediatek Helio X25-basierten Meizu Pro 6 und stellte fest, dass die großen Kerne die meiste Zeit des Tests offline blieben (wobei der Test eigentlich fast ausschließlich auf den großen Kernen hätte laufen sollen). Kerne). Anandtech bemerkte letzte Woche, dass ein Software-Update auf das Meizu Pro 6 übertragen wurde, das es dem Meizu endlich ermöglichte, diese Kerne voll auszunutzen. Anandtechs Chefredakteur für Smartphones, Matt Humrick, bemerkte Das „Nach dem Update auf Flyme OS 5.2.5.0G ist die Leistung des PRO 6 wesentlich besser. Die Kraken-, WebXPRT 2015- und JetStream-Ergebnisse verbessern sich um etwa das 2- bis 2,5-fache. Meizu hat offenbar den Lastschwellenwert angepasst, sodass Threads für eine bessere Leistung häufiger auf die A72-Kerne migrieren können.

Leider scheint es, dass die CPU-Skalierung für ihre neuen Geräte nicht verbessert, sondern besser erhalten wird Benchmark-Ergebnisse scheinen sie das Telefon so eingestellt zu haben, dass es bei bestimmten Apps auf die Verwendung der großen Kerne umschaltet läuft.

Beim Öffnen einer Benchmarking-App empfiehlt unser Meizu Pro 6 Plus, in den „Leistungsmodus“ zu wechseln (was allein schon der Fall ist). reicht aus, um zu bestätigen, dass nach bestimmten Paketnamen gesucht wird), und es scheint einen wesentlichen Unterschied zu machen. Im standardmäßigen „Balance-Modus“ erreicht das Telefon in den Single-Core- und Multi-Core-Bereichen von Geekbench durchweg Werte um die 604 und 2220, allerdings in Im „Leistungsmodus“ erreicht er 1473 bzw. 3906 Punkte, was vor allem darauf zurückzuführen ist, dass die großen Kerne im „Balance-Modus“ die meiste Zeit des Tests ausgeschaltet blieben und sich einschalteten „Leistungsmodus“. Meizu scheint die kleinen Kerne auf ihre maximale Geschwindigkeit von 1,48 GHz zu fixieren und für zwei ihrer großen Kerne eine harte Untergrenze von 1,46 GHz im Betrieb festzulegen Geekbench im „Leistungsmodus“ (wobei die beiden anderen großen Kerne frei und recht aggressiv skalieren können), wann das nicht möglich ist Ausführen der "Minigolf" bauen.

Die Möglichkeit, zwischen einem Hochleistungsmodus und einem Energiesparmodus wählen zu können, kann zwar eine nette Funktion sein, in diesem Fall scheint es sich jedoch um nichts weiter als einen Trick zu handeln. Das Meizu Pro 6 Plus erzielt im „Leistungsmodus“ für die reguläre Geekbench-App ordentliche Ergebnisse, bei Verwendung der "Minigolf" Beim Aufbau von Geekbench sinkt die Leistung sofort wieder auf das gleiche Leistungsniveau wie im „Balance-Modus“. Der höhere Leistungsstatus des Meizu Pro 6 Plus dient nur dem Benchmarking und nicht dem tatsächlichen täglichen Gebrauch.

Bemerkenswert ist, dass wir das Meizu Pro 6 Plus im „Performance-Modus“ mit dem Geheimnis getestet haben Beim Build von Geekbench kamen die großen Kerne online, wenn wir die Taktraten mit Qualcomm aufzeichneten Trepn. Wir haben noch nicht festgestellt, ob das Meizu erkennt, dass Trepn läuft und die großen Kerne einschaltet Teilweise deswegen, oder wenn es einfach die großen Kerne wegen der zusätzlichen CPU-Last einschaltet schafft. Auch wenn es kontraintuitiv klingen könnte, dass eine zusätzliche Last im Hintergrund (z. B. wenn wir die Leistungsdiagramme während des Tests eingeschaltet ließen) dies tun würde Zunahme Den Ergebnissen eines Benchmarks zufolge könnte die konservative Skalierung von Meizu bedeuten, dass der zusätzliche Overhead anfiel genug, um es über die Grenzen zu bringen und die großen Kerne in Aktion zu rufen und so die Leistung für alle zu verbessern Aufgaben.


Wenn aufgeschlossene OEMs auf Feedback eingehen...

Nach unseren Tests haben wir OnePlus bezüglich der festgestellten Probleme kontaktiert. In Beantwortung, OnePlus hat schnell versprochen, Benchmarking-Apps nicht mehr ins Visier zu nehmen, beabsichtigt aber weiterhin, es für Spiele (die ebenfalls einem Benchmarking unterzogen werden) beizubehalten. In einer zukünftigen Version von OxygenOS wird dieser Mechanismus nicht durch Benchmarks ausgelöst. OnePlus war aufgeschlossen gegenüber unserem Vorschlag, auch einen Schalter hinzuzufügen, damit Benutzer wissen, was vor sich geht unter der Haube, und zumindest der unfaire und irreführende Vorteil bei Benchmarks sollte sein korrigiert. Aufgrund des chinesischen Neujahrsfestes und des Funktionsrückstands kann es jedoch eine Weile dauern, bis wir benutzerorientierte Anpassungsoptionen für dieses Leistungsmerkmal sehen. Auch wenn allein die Korrektur des Verhaltens eine Verbesserung darstellt, ist es im Normalfall immer noch etwas enttäuschend Anwendungen (wie Spiele), da es eine Krücke ist, auf bestimmte Apps abzuzielen, anstatt die tatsächliche Leistung zu verbessern Skalierung. Indem die Aggressivität des Prozessors und damit die Taktraten für bestimmte Apps künstlich gesteigert werden, anstatt die Fähigkeit des Telefons zu verbessern, zu erkennen, wann es tatsächlich eine höhere Taktrate benötigt Aufgrund der hohen Taktraten sorgt OnePlus für eine inkonsistente Leistung seiner Telefone, was erst deutlicher wird, wenn das Telefon älter wird und mehr Spiele spielen, auf die OnePlus nicht abzielt freigegeben. Allerdings ermöglicht die Implementierung derzeit eine bessere Leistung von Spielen. OnePlus hat zu diesem Artikel auch eine Stellungnahme abgegeben, die Sie unten lesen können:

 „Um Benutzern ein besseres Benutzererlebnis bei ressourcenintensiven Apps und Spielen zu bieten, insbesondere bei grafikintensiven Apps.“ In einigen Fällen haben wir bestimmte Mechanismen in der Community und in Nougat-Builds implementiert, um den Prozessor dazu zu bringen, mehr zu laufen aggressiv. Der Auslöseprozess für Benchmarking-Apps wird in kommenden OxygenOS-Builds auf OnePlus 3 und OnePlus 3T nicht vorhanden sein.

Wir freuen uns zu hören, dass OnePlus den Benchmark-Cheat von seinen Handys entfernen wird. Auch in Zukunft werden wir versuchen, Druck auf OEMs auszuüben, wann immer möglich verbraucherfreundlicher zu sein, und wir werden ein Auge auf künftige Benchmark-Betrügereien haben.

Leider ist die einzige wirkliche Antwort auf diese Art von Betrug ständige Wachsamkeit. Als Smartphone-Enthusiasten-Community müssen wir nach solchen Täuschungsversuchen für Benutzer Ausschau halten. Es sind nicht die Benchmark-Ergebnisse selbst, die uns interessieren, sondern vielmehr, was die Benchmarks über die Leistung des Telefons aussagen. Während der Benchmark-Cheat auf dem noch nicht aktiv war OnePlus 3 Als wir es überprüften, reichte ein einfaches Software-Update aus, um diese irreführende „Funktion“ hinzuzufügen, und zeigt deutlich, dass die Überprüfung der Geräte auf Benchmark-Betrug beim ersten Start nicht der Fall ist genug. Probleme wie dieses können Tage, Wochen, Monate oder sogar Jahre nach dem Start des Geräts künstlich hinzugefügt werden Dadurch werden die von den Benchmarks Monate später ermittelten globalen Durchschnittswerte aufgebläht, was sich auf die endgültige Datenbank auswirkt Ergebnis. Es sollte beachtet werden, dass die Hersteller trotz dieser Optimierungen Zeit und Geld in die Entwicklung investieren mussten. Wir sehen normalerweise nur einen Anstieg der Benchmark-Ergebnisse um ein paar Prozentpunkte (mit Ausnahme einiger Randfälle wie Meizu, wo der Betrug viel größere Probleme vertuscht). Ein paar Prozentpunkte, was viel kleiner ist als der Abstand zwischen den Geräten mit der besten und der schlechtesten Leistung. Wir würden jedoch argumentieren, dass diese zusätzlichen Prozentpunkte bei Geräten mit immer ähnlicherer Hardware der entscheidende Faktor in den Ranglisten sein könnten, nach denen Benutzer letztendlich suchen. Eine bessere Treiberoptimierung und eine intelligentere CPU-Skalierung können einen absolut massiven Einfluss auf die Geräteleistung haben, mit dem Unterschied zwischen Die Punktzahl des leistungsstärksten Qualcomm Snapdragon 820-basierten Geräts und des leistungsschwächsten Geräts (von einem großen OEM) lag bei über 20 % Geekbench. Zwanzig Prozent aus der Treiberoptimierung und nicht ein paar Prozentpunkte aus Zeit- und Geldaufwand für die Täuschung Ihrer Benutzer. Dabei geht es nur um den Entwicklungsaufwand, der sich auf die Benchmark-Ergebnisse auswirken kann. Viele der größten Vorteile einer Investition in die Verbesserung der Software eines Geräts tauchen nicht immer in Benchmarks auf, wobei OnePlus in seinen Geräten eine hervorragende Leistung in der Praxis bietet. Es sollte wirklich klar sein, worauf sich die Entwicklungsbemühungen eines Unternehmens in diesem Fall konzentrieren sollten. Wir wenden uns an weitere Unternehmen, die Benchmarks betrügen, sobald wir sie finden, und wir hoffen, dass sie genauso aufgeschlossen sind wie OnePlus.


Wir möchten dem Team von Primate Labs noch einmal für die Zusammenarbeit bei der Aufdeckung dieses Problems danken. Ohne die „Mini Golf“-Ausgabe von Geekbench wäre es wesentlich schwieriger gewesen, ordnungsgemäß auf Benchmark-Cheating zu testen.