OnePlus și Meizu au fost prinși trișând la benchmark-uri. XDA investighează cum s-a întâmplat și ce se poate face pentru a preveni să se repete.
În urmă cu câțiva ani, a existat un scandal considerabil, când numeroși producători importanți au fost prinși înșelând referințe. OEM de toate dimensiunile (inclusiv Samsung, HTC, Sony, și LG) au luat parte la această cursă a înarmărilor de încercare de a păcăli utilizatorii fără a fi prinși, dar, din fericire, au încetat în cele din urmă trișarea lor de referință după câteva discuții sincere cu experți din industrie si jurnalistii.
În 2013, așa era descoperit că Samsung își creștea artificial vitezele de ceas GPU în anumite aplicații, declanșând o serie de investigatii în trișarea de referință pentru întreaga gamă de producători. La acea vreme, investigația a constatat că aproape toți producătorii, cu excepția Google/Motorola, se implicau în înșelăciune de referință. Toți investeau timp și bani în încercări de a obține un pic de performanță suplimentară de pe telefoanele lor în benchmark-uri, în moduri care nu ar avea niciun efect pozitiv asupra utilizării de zi cu zi, în încercarea de a păcăli utilizatorii făcându-le să creadă că telefoanele lor sunt mai rapide decât de fapt au fost. Aceste eforturi de dezvoltare au acoperit întreaga gamă, de la setarea etajelor de viteză a ceasului, până la forțarea vitezei ceasului la setările lor maxime, până la crearea unor speciali mai mari. stări de putere și viteze speciale ale ceasului care erau disponibile numai la evaluarea comparativă, aceste eforturi ducând adesea la creșterea de doar câteva puncte procentuale în reper.
A existat o indignare substanțială atunci când a fost descoperit, deoarece aceste încercări de înșelăciune de referință au fost contrare până la punctul de referință în sine. Majoritatea benchmark-urilor nu sunt acolo pentru a vă spune performanța maximă teoretică a unui telefon în condiții de laborator care nu sunt reproductibile în utilizarea de zi cu zi, ci mai degrabă sunt acolo pentru a vă oferi un punct de referință pentru comparații în lumea reală telefoane. După o mică reproșare publică (și câteva conversații private) din partea publicațiilor de tehnologie, liderilor din industrie și publicul larg, majoritatea producătorilor au primit mesajul că înșelăciunea de referință nu era pur și simplu acceptabilă și s-au oprit ca a rezultat. Majoritatea celor puțini care nu s-au oprit în acel moment s-au oprit la scurt timp după, deoarece s-au făcut modificări substanțiale la câte benchmark-uri rulează, în încercarea de a descuraja trișarea benchmark-ului (prin reducerea beneficiului de la aceasta). Multe benchmark-uri au fost făcute mai lungi, astfel încât accelerarea termică de la maximizarea vitezei de ceas să devină imediat evidentă.
Cand noi intervievat John Poole, creatorul Geekbench, a apărut subiectul înșelăciunii de referință și ce pot face companii precum Primate Labs pentru a preveni acest lucru. Primate Labs, în special, a făcut Geekbench 4 destul de mai lung decât Geekbench 3, parțial pentru a reduce efectele înșelăciunii de referință. Reducerea beneficiilor pentru a se asigura că dezvoltarea costurile înșelăciunii de referință nu merită.
„Problema este că, odată ce avem aceste durate mari de rulare, dacă începi să joci lucruri prin creșterea ceasului viteze sau dezactivarea guvernatorilor sau ceva de genul asta, veți începe să puneți un pericol real real în telefon... Dacă vrei să joci... nu vei scoate la fel de mult din asta. S-ar putea să primești încă câteva procente, dar chiar merită?" - John Poole
Ce s-a întâmplat
Din păcate, trebuie să raportăm că unii OEM au început să trișeze din nou, ceea ce înseamnă că ar trebui să fim din nou atenți. Din fericire, producătorii au devenit din ce în ce mai receptivi la astfel de probleme și, cu atenția potrivită fiind atrasă asupra acesteia, acest lucru poate fi rezolvat rapid. Este puțin șocant să vezi producătorii implementând înșelăciune de referință în lumina cât de proastă a fost reacția. ultima dată când a fost încercat (cu unele benchmark-uri excluzând complet dispozitivele de înșelăciune din performanța lor liste). Cu această reacție contrastantă cu cât de mici sunt câștigurile de performanță din înșelăciunea de referință (cu majoritatea dintre încercările care au avut ca rezultat o creștere a scorului cu mai puțin de 5% data trecută), am sperat cu adevărat că toate acestea vor fi în urmă S.U.A.
Momentul acestei încercări este deosebit de inoportun, deoarece în urmă cu câteva luni trișarea de referință a lăsat lumea de a fi pur și simplu un îngrijorarea entuziaștilor și a intrat în sfera publică când Volkswagen și Fiat Chrysler au fost surprinși amândoi înșelându-și emisiile repere. Ambele companii au implementat software pentru a detecta când mașinile lor diesel erau supuse testării emisiilor și le-au pus să treacă într-un mod cu emisii scăzute. care și-au văzut scăderea economiei de combustibil, în încercarea de a concura cu mașinile pe benzină în ceea ce privește eficiența consumului de combustibil, rămânând în continuare în limitele de reglementare pentru emisii teste. Până acum, scandalul a dus la miliarde de amenzi, zeci de miliarde de costuri de retragere și acuzații depuse -- cu siguranță nu genul de răzbunare OEM-urile ar vedea vreodată pentru umflarea scorurilor lor de referință, care sunt pur și simplu pentru comparații între utilizatori și nu sunt utilizate pentru măsurarea niciunui nivel de reglementare. cerințe.
In timp ce investigând modul în care Qualcomm atinge viteze mai mari de deschidere a aplicațiilor pe noul Qualcomm Snapdragon 821 de atunci, am observat ceva ciudat pe OnePlus 3T pe care nu le-am putut reproduce pe Xiaomi Mi Note 2 sau Google Pixel XL, printre alte dispozitive Snapdragon 821. Editorul nostru șef, Mario Serrafero, folosea Qualcomm Trepn și Snapdragon Performance Visualizer pentru a monitoriza modul în care Qualcomm „îmbunătățește” procesorul viteza ceasului la deschiderea aplicațiilor și am observat că anumite aplicații de pe OnePlus 3T nu scădeau înapoi la vitezele lor normale de mers în gol după deschidere. Ca regulă generală, evităm testarea benchmark-urilor cu instrumente de monitorizare a performanței deschise ori de câte ori este posibil, din cauza costurilor suplimentare de performanță pe care le aduc (în special în dispozitivele non-Snapdragon unde nu există instrumente desktop oficiale), totuși, în acest incident, ne-au ajutat să observăm un comportament ciudat pe care probabil l-am fi ratat in caz contrar.
Când intrați în anumite aplicații de benchmarking, nucleele OnePlus 3T ar rămâne peste 0,98 GHz pentru nucleele mici și 1,29 GHz pentru nucleele mari, chiar și atunci când sarcina procesorului a scăzut la 0%. Acest lucru este destul de ciudat, deoarece, în mod normal, ambele seturi de nuclee scad la 0,31 GHz pe OnePlus 3T când nu există încărcare. La prima vedere, ne-am îngrijorat că scalarea procesorului OnePlus a fost setată pur și simplu puțin ciudat, cu toate acestea, după teste ulterioare, am ajuns la concluzia că OnePlus trebuie să vizeze specific aplicatii. Ipoteza noastră a fost că OnePlus vizează aceste benchmarkuri după nume și intra într-un mod alternativ de scalare a procesorului pentru a-și crește scorurile de referință. Una dintre principalele noastre preocupări a fost că OnePlus a stabilit posibil restricții termice mai slabe în acest mod pentru a evita problemele pe care le-au avut cu OnePlus. One, OnePlus X și OnePlus 2, unde telefoanele gestionau prost nucleele suplimentare care vin online pentru secțiunea multi-core a Geekbench și ocazional, scăzând substanțial ca rezultat (până la punctul în care OnePlus X a obținut uneori un scor mai mic în secțiunea cu mai multe nuclee decât în secțiunea single secţiunea de bază). Puteți găsi accelerare grea în nostru Recenzie OnePlus 2, unde am descoperit că dispozitivul ar putea pierde până la 50% din scorul său multicore Geekbench 3. Mai târziu, când am început să comparăm throttling și termice între dispozitive, OnePlus 2 a devenit un exemplu de manual despre ceea ce ar trebui să evite OEM-urile.
Am contactat echipa la Laboratoarele de primate (creatorii Geekbench), care au jucat un rol esențial în dezvăluirea primului val de înșelăciune de referință și au colaborat cu ei pentru teste ulterioare. Am adus un OnePlus 3T la biroul Primate Labs din Toronto pentru o analiză inițială. Testarea inițială a inclus un dump ROM care a constatat că OnePlus 3T căuta direct câteva aplicații după nume. Cel mai important, OnePlus 3T căuta Geekbench, AnTuTu, Androbench, Quadrant, Vellamo și GFXBench. Deoarece până acum aveam dovezi destul de clare că OnePlus se implica în înșelăciune de referință, Primate Labs a construit un „Mini Golf Putt al lui Bob” versiunea Geekbench 4 pentru noi. Mulțumită schimbări substanțiale între Geekbench 3 și 4, the „Mini Golf” versiunea a trebuit să fie reconstruită de la zero special pentru această testare. Această versiune de Geekbench 4 este concepută pentru a evita orice detectare a benchmark-ului, pentru a permite Geekbench să ruleze ca obișnuit. aplicație pe telefoanele care trișează (mergând dincolo de redenumirea pachetului care păcălește cele mai multe încercări de benchmark înșelăciune).
Un exemplu surprinzător
Imediat după deschiderea aplicației, diferența a fost clară. OnePlus 3T era inactiv la 0,31 GHz, așa cum o face în majoritatea aplicațiilor, mai degrabă decât la 1,29 GHz pentru nucleele mari și 0,98 GHz pentru nucleele mici, așa cum o face în aplicația obișnuită Geekbench. OnePlus îl făcea mai agresiv pe regulatorul procesorului, rezultând o etapă practică a vitezei de ceas artificială în Geekbench, care nu era acolo în construcția Geekbench ascunsă. Nu s-a bazat pe volumul de lucru al procesorului, ci mai degrabă pe numele pachetului aplicației, pe care construcția ascunsă l-ar putea păcăli. În timp ce diferența dintre cursele individuale a fost minimă, relaxările de accelerare termică strălucesc în testul nostru de performanță susținută, prezentat mai jos.
Din testele noastre, se pare că aceasta a fost o „funcție” a sistemului de operare Hydrogen de ceva vreme și nu a fost adăugată la sistemul de operare Oxygen până când comunitatea nu s-a construit înainte de lansarea Nougat (după două ROM-uri au fost îmbinate). Este un pic dezamăgitor de văzut, mai ales în lumina problemelor software pe care OnePlus le-a avut luna aceasta în urma îmbinării ROM-urilor, de la vulnerabilitățile bootloader-ului la Probleme de conformitate cu GPL. Avem speranța că, pe măsură ce praful se așează în urma fuziunii celor două echipe, OnePlus va reveni la forma și va continua să se poziționeze ca o opțiune prietenoasă pentru dezvoltatori.
Cu „Mini Golf” versiunea Geekbench în mână, am ieșit și am început să testăm și alte telefoane pentru trișare de referință. Din fericire, testele noastre nu arată nicio înșelăciune din partea companiilor care au fost implicate în scandalul de acum jumătate de deceniu. HTC, Xiaomi, Huawei, Honor, Google, Sony și alții par să aibă scoruri consistente între versiunea obișnuită Geekbench și „Mini Golf” construiți pe dispozitivele noastre de testare.
Din păcate, am găsit posibile dovezi de înșelăciune de referință pe care încă nu le-am putut confirma de la alte câteva companii, pe care le vom investiga în continuare. Cel mai rău exemplu în acest sens a fost în Meizu Pro 6 Plus, alimentat cu Exynos 8890, care a dus trișarea de referință la o altă extremă.
Un exemplu groaznic
În trecut, Meizu și-a stabilit scalarea procesorului în mod extrem de conservator. În special, își configurează adesea telefoanele astfel încât nucleele mari rareori să vină online, chiar și atunci când sunt în „modul de performanță”, făcând procesoarele emblematice (cum ar fi excelentele Exynos 8890) pe care le pun în telefoanele lor emblematice acționează ca procesoare midrange. Acest lucru a ajuns la un cap anul trecut când Anandtech au numit Meizu pentru performanța lor slabă la benchmark-urile JavaScript Anandtech pe Meizu Pro 6 bazat pe Mediatek Helio X25 și a remarcat că nucleele mari au rămas offline pentru cea mai mare parte a testului (când testul ar fi trebuit să ruleze aproape exclusiv pe miezuri). Anandtech a observat săptămâna trecută că pe Meizu Pro 6 a fost trimisă o actualizare de software care îi permitea în sfârșit lui Meizu să folosească acele nuclee la maximum. Editorul senior Anandtech pentru smartphone-uri, Matt Humrick, remarcat acea „După actualizarea la Flyme OS 5.2.5.0G, PRO 6 are performanțe substanțial mai bune. Scorurile Kraken, WebXPRT 2015 și JetStream se îmbunătățesc de aproximativ 2x-2,5x. Se pare că Meizu a ajustat valoarea pragului de încărcare, permițând firelor să migreze mai des la nucleele A72 pentru o performanță mai bună.”
Din păcate, se pare că, în loc să îmbunătățească scalarea CPU pentru noile lor dispozitive, să obțină mai bine scoruri de referință, par să fi setat telefonul să treacă la utilizarea nucleelor mari atunci când anumite aplicații sunt alergare.
La deschiderea unei aplicații de evaluare comparativă, Meizu Pro 6 Plus vă recomandă să treceți în „Modul de performanță” (care singur este suficient pentru a confirma că sunt în căutarea unor nume de pachete specifice) și pare să facă o diferență substanțială. Când se află în „Modul de echilibru” standard, telefonul obține în mod constant în jur de 604 și 2220 în secțiunile single-core și multi-core ale Geekbench, dar în „Modul de performanță” are scoruri 1473 și 3906, în mare parte datorită nucleelor mari care rămân oprite pentru cea mai mare parte a testului în „Modul echilibru” și se pornesc în „Modul de performanță”. Meizu pare să blocheze nucleele mici la viteza lor maximă de 1,48 GHz și să stabilească o podea tare pentru două dintre nucleele lor mari de 1,46 GHz când rulează Geekbench în „Modul de performanță” (cu celelalte două nuclee mari li se permite să se scaleze liber și destul de agresiv), ceea ce nu vedem când rularea „Mini Golf” construi.
Deși posibilitatea de a alege între un mod de putere mare și un mod de putere scăzută poate fi o caracteristică plăcută, în acest caz, pare să nu fie altceva decât un truc de salon. Meizu Pro 6 Plus vede scoruri decente în „Modul de performanță” pentru aplicația obișnuită Geekbench, dar atunci când utilizați „Mini Golf” versiunea Geekbench, scade la același nivel de performanță ca atunci când este setat la „Modul de echilibru”. Starea de performanță superioară a lui Meizu Pro 6 Plus este doar pentru analiză comparativă, nu pentru utilizarea de zi cu zi.
Un lucru de remarcat este că atunci când am testat Meizu Pro 6 Plus în „Modul de performanță” cu secretul construirea Geekbench, nucleele mari au venit online dacă înregistram vitezele de ceas cu Qualcomm Trepn. Încă nu am stabilit dacă Meizu recunoaște că Trepn rulează și pornește nucleele mari în parte din cauza asta, sau dacă pur și simplu pornește nucleele mari din cauza încărcării suplimentare a procesorului pe care îl are creează. Deși ar putea suna contra-intuitiv că o încărcare suplimentară în fundal (cum ar fi atunci când am păstrat graficele de performanță activate în timpul testului) crește Rezultatele unui etalon de referință, scalarea conservatoare a lui Meizu ar putea însemna că suprasarcina suplimentară a fost suficient pentru a-l împinge peste margine și pentru a chema nucleele mari în acțiune, îmbunătățind astfel performanța pentru toți sarcini.
Când OEM receptivi adresează feedback...
În urma testării noastre, am contactat OnePlus cu privire la problemele pe care le-am găsit. In raspuns, OnePlus a promis rapid că va înceta să vizeze aplicațiile de benchmarking cu trișarea lor de benchmark, dar intenționează totuși să le păstreze pentru jocuri (care sunt, de asemenea, evaluate). Într-o versiune viitoare a OxygenOS, acest mecanism nu va fi declanșat de benchmark-uri. OnePlus a fost receptiv la sugestia noastră de a adăuga și o comutare, astfel încât utilizatorii să știe ce se întâmplă sub capotă și, cel puțin, avantajul nedrept și înșelător în benchmark-uri ar trebui să fie corectat. Din cauza sărbătorii de Anul Nou chinezesc și a numărului de funcții restante, ar putea trece ceva timp până când vom vedea opțiuni de personalizare pentru această funcție de performanță. Deși doar corectarea comportamentului este o îmbunătățire, este totuși puțin dezamăgitor să vezi în mod obișnuit aplicații (cum ar fi jocurile), deoarece este o cârjă pentru a viza anumite aplicații, în loc să îmbunătățească performanța reală scalare. Prin creșterea artificială a agresivității procesorului și, prin urmare, a vitezei de ceas pentru anumite aplicații, în loc să îmbunătățească capacitatea telefoanelor lor de a identifica când are nevoie de fapt mai mult. viteze de ceas, OnePlus creează performanțe inconsistente pentru telefoanele lor, care vor deveni mai evidente pe măsură ce telefonul îmbătrânește și mai multe jocuri pe care OnePlus nu le-a vizat sunt eliberată. Cu toate acestea, implementarea permite în prezent jocurilor să aibă performanțe mai bune. OnePlus a oferit și o declarație pentru acest articol, pe care o puteți citi mai jos:
„Pentru a oferi utilizatorilor o experiență mai bună de utilizare în aplicații și jocuri cu resurse intensive, în special grafică cele, am implementat anumite mecanisme în comunitate și Nougat construiește pentru a declanșa procesorul să ruleze mai mult agresiv. Procesul de declanșare pentru aplicațiile de evaluare comparativă nu va fi prezent în viitoarele versiuni OxygenOS pe OnePlus 3 și OnePlus 3T.
Suntem încântați să auzim că OnePlus va elimina înșelăciunea de referință de pe telefoanele lor. În continuare, vom continua să facem presiuni pe OEM pentru a fi mai prietenoși cu consumatorii ori de câte ori este posibil și vom fi cu ochii pe viitoarele înșelăciuni de referință.
Din păcate, singurul răspuns real la acest tip de înșelăciune este vigilența constantă. În calitate de comunitate de pasionați de smartphone-uri, trebuie să fim atenți la încercările de a înșela utilizatorii astfel. Nu ne interesează scorurile de referință în sine, ci mai degrabă ceea ce spun benchmark-urile despre performanța telefonului. În timp ce trișarea de referință nu era încă activă pe OnePlus 3 când l-am revizuit, o simplă actualizare de software a fost suficientă pentru a adăuga această „funcție” înșelătoare și ilustrează clar că verificarea dispozitivelor pentru trișare de referință la prima lansare nu este suficient. Probleme ca aceasta pot fi adăugate la zile, săptămâni, luni sau chiar ani după lansarea dispozitivului, în mod artificial umflarea mediilor globale adunate de benchmark-uri luni de-a lungul liniei, influențând baza de date finală rezultat. Trebuie remarcat faptul că, chiar și cu aceste modificări pe care producătorii au trebuit să investească timp și bani pentru a le dezvolta, de obicei, vedem doar o creștere de câteva puncte procentuale a scorurilor de referință (excluzând câteva cazuri marginale precum Meizu, unde înșelăciunea acoperă probleme mult mai mari). Câteva puncte procentuale, ceea ce este mult mai mic decât diferența dintre dispozitivele cele mai bune și cele mai slabe. Am susține, totuși, că, având în vedere dispozitivele care rulează hardware din ce în ce mai similar, acele puncte procentuale suplimentare ar putea fi factorul decisiv în topurile de clasare pe care utilizatorii le caută în cele din urmă. Optimizarea mai bună a driverului și scalarea mai inteligentă a procesorului pot avea un efect absolut masiv asupra performanței dispozitivului, cu diferența dintre acestea scorul celui mai performant dispozitiv bazat pe Qualcomm Snapdragon 820 și cel mai prost performanță (de la un OEM important) depășind 20% pe Geekbench. Douăzeci la sută din optimizarea driverului, mai degrabă decât câteva puncte procentuale din cheltuirea timpului și a banilor pentru a vă înșela utilizatorii. Și este vorba doar despre eforturile de dezvoltare care pot afecta scorurile de referință. Multe dintre cele mai mari beneficii ale investiției în îmbunătățirea software-ului unui dispozitiv nu apar întotdeauna în benchmark-uri, OnePlus oferind performanțe excelente în lumea reală în dispozitivele lor. Într-adevăr, ar trebui să fie clar unde ar trebui concentrate eforturile de dezvoltare ale unei companii în acest caz. Adresăm mai multe companii care înșală valorile de referință pe măsură ce le găsim și sperăm că sunt la fel de receptive ca OnePlus.
Dorim să mulțumim încă o dată echipei Primate Labs pentru că a lucrat cu noi pentru a descoperi această problemă. Ar fi fost mult mai dificil să testați în mod corespunzător pentru Benchmark Cheating fără ediția „Mini Golf” a Geekbench.