Benchmark varanje uzvraća udarac: kako su OnePlus i drugi uhvaćeni na djelu i što su poduzeli u vezi s tim

OnePlus i Meizu uhvaćeni su u varanju mjerila. XDA istražuje kako se to dogodilo i što se može učiniti da se to više ne dogodi.

Prije nekoliko godina došlo je do velike buke, kada su brojni veliki proizvođači uhvaćeni u varanju na referentnim vrijednostima. OEM-i svih veličina (uključujući Samsung, HTC, Sony, i LG) su sudjelovali u ovoj utrci u naoružanju pokušavajući prevariti korisnike, a da ne budu uhvaćeni, ali srećom su na kraju prekinuli varati svoje referentne vrijednosti nakon nekoliko iskrenih razgovora s stručnjaci iz industrije i novinari.

Davne 2013. bilo je otkrio da je Samsung umjetno povećavao brzinu takta GPU-a u određenim aplikacijama, izazivajući niz istrage u varanje referentnih vrijednosti za cijeli niz proizvođača. U to je vrijeme istraga otkrila da su gotovo svi proizvođači osim Googlea/Motorole bili uključeni u varanje referentnih vrijednosti. Svi su ulagali vrijeme i novac u pokušaje da iz svojih telefona izvuku malo više performansi u mjerilima, na načine da ne bi imalo nikakav pozitivan učinak na svakodnevnu upotrebu, u pokušaju da zavara korisnike da misle da su im telefoni brži nego što zapravo bili. Ovi razvojni napori obuhvatili su cijeli raspon, od postavljanja donjih brzina takta, do prisiljavanja brzina takta na njihove maksimalne postavke, do čak stvaranja posebnih viših stanja snage i posebne brzine takta koje su bile dostupne samo tijekom usporedne analize, pri čemu su ti napori često rezultirali samo nekoliko postotnih bodova povećanja mjerilo.

Došlo je do znatnog bijesa kada je to otkriveno, budući da su ti pokušaji varanja referentnih vrijednosti bili u suprotnosti sa samim mjerilima. Većina referentnih vrijednosti ne postoji da vam kaže teoretsku maksimalnu izvedbu telefona u laboratorijskim uvjetima koji nisu ponovljivi u svakodnevnoj upotrebi, već su tu da vam daju referentnu točku za usporedbe u stvarnom svijetu između telefoni. Nakon malo javnog grdanja (i nekih privatnih razgovora) od strane tehnoloških publikacija, čelnika u industriji i široj javnosti, većina je proizvođača dobila poruku da varanje referentnih vrijednosti jednostavno nije prihvatljivo, i prestali su kao proizlaziti. Većina onih nekoliko koji se nisu zaustavili na toj točki, stali su ubrzo nakon toga, budući da su napravljene značajne promjene na koliko se referentnih vrijednosti pokreće, u pokušaju da se obeshrabri varanje referentnih vrijednosti (smanjivanjem koristi od to). Mnoga mjerila su produljena kako bi toplinsko prigušivanje uslijed maksimiziranja takta postalo odmah vidljivo.

Kad smo intervjuiran Johna Poolea, kreatora Geekbencha, pojavila se tema benchmark varanja i što tvrtke poput Primate Labsa mogu učiniti da to spriječe. Primate Labs posebno je napravio Geekbench 4 prilično duljim od Geekbencha 3, djelomično kako bi smanjio učinke varanja mjerila. Smanjenje povlastica kako bi se osigurao razvoj troškovi varanja referentnih vrijednosti nisu vrijedni toga.

"Problem je u tome što kad jednom budemo imali tako velika vremena izvođenja, ako počnete igrati stvari ubrzavanjem sata brzine ili onesposobljavanje regulatora ili nešto slično, počet ćete stavljati stvarnu stvarnu opasnost u telefon... Ako ćeš se igrati... nećete dobiti toliko od toga. Još uvijek možete dobiti nekoliko postotaka, ali je li to stvarno vrijedno toga?" - John Poole


Što se dogodilo

Nažalost, moramo izvijestiti da su neki proizvođači originalne opreme ponovno počeli varati, što znači da bismo trebali ponovno biti na oprezu. Srećom, proizvođači su sve više reagirali na ovakve probleme, a ako im se privuče odgovarajuća pozornost, to se može brzo popraviti. Pomalo je šokantno vidjeti proizvođače kako provode benchmark varanje u svjetlu koliko je loša bila povratna reakcija posljednji put kad je to pokušano (s nekim mjerilima koja potpuno isključuju uređaje za varanje iz njihove izvedbe popisi). S tom reakcijom koja je u suprotnosti s tim koliko su mali dobici izvedbe od varanja referentnih vrijednosti obično (s većinom pokušaja koji su zadnji put rezultirali povećanjem rezultata manje od 5%, doista smo se nadali da će sve ovo biti iza nas.

Vrijeme za ovaj pokušaj je posebno neprikladno, budući da je prije nekoliko mjeseci varanje na referentnoj razini ostavilo svijet čistog zabrinutost entuzijasta, a ušao je u javnu sferu kada su Volkswagen i Fiat Chrysler uhvaćeni u varanju emisija mjerila. Obje su tvrtke implementirale softver za otkrivanje kada su njihovi dizelski automobili podvrgnuti testiranju emisija i natjerale ih da se prebace u način rada s niskim emisijama koji su doživjeli pad uštede goriva, u pokušaju da se natječu s benzinskim automobilima u učinkovitosti goriva dok su i dalje unutar regulatornih ograničenja za emisije testovi. Do sada je skandal rezultirao milijardama kazni, desecima milijardi troškova opoziva i podizanjem optužbi -- sigurno ne vrstom odmazde Proizvođači originalne opreme uvijek bi htjeli napuhati svoje referentne rezultate, koji su isključivo za usporedbu korisnika i ne koriste se za mjerenje bilo kakvih regulatornih zahtjevi.

Dok istražujući kako Qualcomm postiže veće brzine otvaranja aplikacija na tada novom Qualcomm Snapdragonu 821 primijetili smo nešto čudno na OnePlus 3T koje nismo mogli reproducirati na Xiaomi Mi Note 2 ili Google Pixel XL, između ostalih Snapdragon 821 uređaja. Naš glavni urednik, Mario Serrafero, koristio je Qualcomm Trepn i Snapdragon Performance Visualizer kako bi pratio kako Qualcomm "pojačava" CPU radni takt prilikom otvaranja aplikacija i primijetio da se određene aplikacije na OnePlus 3T ne vraćaju na svoje normalne brzine u praznom hodu nakon otvor. Kao opće pravilo, izbjegavamo testiranje referentnih vrijednosti s otvorenim alatima za praćenje performansi kad god je to moguće zbog dodatnih opterećenja performansi koje donose (osobito u uređajima koji nisu Snapdragon gdje ne postoje službeni alati za stolna računala), no u ovom su nam incidentu pomogli da primijetimo neko čudno ponašanje koje bismo vjerojatno propustili inače.

Prilikom ulaska u određene aplikacije za usporedbu, jezgre OnePlusa 3T ostale bi iznad 0,98 GHz za male jezgre i 1,29 GHz za velike jezgre, čak i kada bi opterećenje CPU-a palo na 0%. Ovo je prilično čudno, jer obično oba seta jezgri padaju na 0,31 GHz na OnePlus 3T kada nema opterećenja. Kad smo ovo prvi put vidjeli, zabrinuli smo se da je OnePlusovo skaliranje CPU-a jednostavno postavljeno pomalo čudno, no nakon daljnjeg testiranja došli smo do zaključka da OnePlus mora ciljati specifično aplikacije. Naša je hipoteza bila da je OnePlus ciljao ta mjerila po imenu i da je ulazio u alternativni način skaliranja CPU-a kako bi podigao svoje referentne rezultate. Jedna od naših glavnih briga bila je da je OnePlus možda postavljao labavija toplinska ograničenja u ovom načinu rada kako bi izbjegao probleme koje su imali s OnePlusom One, OnePlus X i OnePlus 2, gdje su telefoni loše podnosili dodatne jezgre koje su dolazile na mrežu za višejezgreni dio Geekbencha, i povremeno se zbog toga znatno smanjio (do točke u kojoj je OnePlus X ponekad postizao niže rezultate u odjeljku s više jezgri nego u jednom dio jezgre). U našem možete pronaći snažno prigušivanje OnePlus 2 recenzija, gdje smo otkrili da bi uređaj mogao smanjiti do 50% višejezgrenog rezultata Geekbench 3. Kasnije, kada smo počeli uspoređivati ​​prigušivanje i toplinu na različitim uređajima, OnePlus 2 postao školski primjer onoga što proizvođači originalne opreme trebaju izbjegavati.

Obratili smo se timu na Primate Labs (kreatori Geekbencha), koji su odigrali ključnu ulogu u razotkrivanju prvog vala benchmark varanja, te su se s njima udružili u daljnjem testiranju. Donijeli smo OnePlus 3T u ured Primate Labsa u Torontu na početnu analizu. Početno testiranje uključivalo je ispis ROM-a koji je otkrio da OnePlus 3T izravno traži dosta aplikacija po imenu. Prije svega, OnePlus 3T je tražio Geekbench, AnTuTu, Androbench, Quadrant, Vellamo i GFXBench. Kako smo do tog trenutka imali prilično jasne dokaze da je OnePlus bio upleten u varanje referentnih vrijednosti, Primate Labs napravio je "Bob's Mini Golf Putt" verzija Geekbencha 4 za nas. Zahvaljujući bitne promjene između Geekbencha 3 i 4, “Mini golf” verzija je morala biti ponovno izgrađena iz temelja posebno za ovo testiranje. Ova verzija Geekbencha 4 dizajnirana je da izbjegne otkrivanje benchmarka kako bi Geekbench mogao normalno raditi aplikacija na telefonima koji varaju (nadilazeći preimenovanje paketa koje zavarava većinu pokušaja benchmarka varanje).


Iznenađujući primjer

Odmah po otvaranju aplikacije razlika je bila jasna. OnePlus 3T radio je u praznom hodu na 0,31 GHz, kao što radi u većini aplikacija, umjesto na 1,29 GHz za velike jezgre i 0,98 GHz za male jezgre, kao što je slučaj u običnoj aplikaciji Geekbench. OnePlus je svoj regulator CPU-a činio agresivnijim, što je rezultiralo praktičnim umjetnim pragom takta u Geekbenchu ​​koji nije postojao u skrivenoj verziji Geekbencha. Nije se temeljio na opterećenju CPU-a, već na nazivu paketa aplikacije, koji bi skrivena verzija mogla prevariti. Dok je razlika u pojedinačnim izvođenjima bila minimalna, toplinska relaksacija prigušenja blista u našem testu kontinuirane izvedbe, prikazanom u nastavku.

Iz našeg testiranja, čini se da je to "značajka" Hydrogen OS-a već duže vrijeme, i nije dodano Oxygen OS-u sve dok zajednica nije izgradila do izdanja Nougata (nakon dva ROM-a su spojena). Malo je razočaravajuće vidjeti, posebno u svjetlu softverskih problema koje je OnePlus imao ovaj mjesec nakon spajanja ROM-ova, od ranjivosti bootloadera do Problemi s GPL usklađenošću. Nadamo se da će se, kako se prašina slegne nakon spajanja dva tima, OnePlus vratiti u formu i nastaviti se pozicionirati kao opcija prilagođena programerima.

s “Mini golf” verziju Geekbencha u ruci, izašli smo i počeli testirati i druge telefone za varanje u mjerilima. Srećom, naše testiranje pokazuje da nema varanja od strane tvrtki koje su bile umiješane u skandal prije pola desetljeća. Čini se da HTC, Xiaomi, Huawei, Honor, Google, Sony i drugi imaju dosljedne rezultate između regularne Geekbench verzije i “Mini golf” graditi na našim uređajima za testiranje.

Nažalost, pronašli smo moguće dokaze o varanju referentnih vrijednosti koje još nismo uspjeli potvrditi od nekoliko drugih tvrtki, a koje ćemo dodatno istražiti. Najgori primjer ovoga bio je Meizu Pro 6 Plus s procesorom Exynos 8890, koji je varanje mjerila doveo u drugu krajnost.


Strašan primjer

Meizu je kroz povijest skaliranje CPU-a postavljao krajnje konzervativno. Naime, oni često postavljaju svoje telefone tako da velike jezgre rijetko dolaze na mrežu, čak i kada su u svom "načinu performansi", što čini vrhunske procesore (poput izvrsnih Exynos 8890) koje stavljaju u svoje vodeće telefone djeluju poput procesora srednjeg ranga. Ovo je došlo do vrhunca prošle godine kada Anandtech prozvao je Meizu zbog njihove loše izvedbe na Anandtechovim JavaScript mjerilima na Meizu Pro 6 baziranom na Mediatek Helio X25, i primijetio da su velike jezgre ostale izvan mreže veći dio testa (kada se test trebao izvoditi gotovo isključivo na velikom jezgre). Anandtech je prošlog tjedna primijetio da je ažuriranje softvera gurnuto na Meizu Pro 6 koje je konačno omogućilo Meizuu da iskoristi te jezgre u potpunosti. Anandtechov stariji urednik Smartphone, Matt Humrick, primijetio da "Nakon ažuriranja na Flyme OS 5.2.5.0G, PRO 6 radi znatno bolje. Rezultati Kraken, WebXPRT 2015 i JetStream poboljšani su za oko 2x-2,5x. Meizu je očito prilagodio vrijednost praga opterećenja, dopuštajući nitima da češće migriraju na A72 jezgre za bolje performanse."

Nažalost, čini se da umjesto da poboljšaju skaliranje CPU-a za svoje nove uređaje kako bi dobili bolje referentnih rezultata, čini se da su postavili telefon da prijeđe na korištenje velikih jezgri kada određene aplikacije to rade trčanje.

Nakon otvaranja aplikacije za usporedbu, naš Meizu Pro 6 Plus preporučuje da se prebacite u "Performance Mode" (koji samo dovoljno za potvrdu da traže određene nazive paketa), i čini se da čini značajnu razliku. Kada je u standardnom "Balance Mode", telefon dosljedno postiže oko 604 i 2220 na Geekbenchovim odjeljcima s jednom jezgrom i više jezgri, ali u "Performance Mode" postiže 1473 i 3906, uglavnom zahvaljujući velikim jezgrama koje ostaju isključene veći dio testa u "Balance Mode" i uključuju se u “Način izvedbe”. Čini se da Meizu zaključava male jezgre na njihovu maksimalnu brzinu od 1,48 GHz i postavlja tvrdi pod za dvije njihove velike jezgre od 1,46 GHz kada rade Geekbench dok je u "Performance Mode" (s drugim dvjema velikim jezgrama koje se mogu slobodno skalirati i prilično agresivno), što ne vidimo kada vođenje “Mini golf” izgraditi.

Iako mogućnost biranja između načina rada velike snage i načina rada niske snage može biti zgodna značajka, u ovom slučaju čini se da je to ništa više od salonskog trika. Meizu Pro 6 Plus postiže pristojne rezultate u "Performance Mode" za običnu aplikaciju Geekbench, ali kada se koristi “Mini golf” međugradnjom Geekbencha, pada odmah na istu razinu performansi koju ima kada je postavljen na "Balance Mode". Stanje viših performansi na Meizu Pro 6 Plus služi samo za usporedbu, a ne za stvarnu svakodnevnu upotrebu.

Jedna stvar koju treba napomenuti je da kada smo testirali Meizu Pro 6 Plus u "Performance Mode" s tajnom izgradnja Geekbencha, velike jezgre su se pojavile ako smo bilježili brzine takta s Qualcommom Trepn. Još nismo utvrdili prepoznaje li Meizu da Trepn radi i uključuje li velike jezgre u dijelom zbog toga, ili ako jednostavno uključuje velike jezgre zbog dodatnog opterećenja CPU-a stvara. Iako bi moglo zvučati kontraintuitivno da bi dodatno opterećenje u pozadini (kao kada smo tijekom testa držali uključene grafikone performansi) povećati Prema rezultatima referentne vrijednosti, Meizuovo konzervativno skaliranje moglo bi značiti da su dodatni troškovi bili dovoljno da ga gurne preko ruba i pozove velike jezgre u akciju, čime se poboljšava izvedba za sve zadaci.


Kada se receptivni OEM-i obrate povratnim informacijama...

Nakon našeg testiranja obratili smo se OnePlusu u vezi s problemima koje smo pronašli. Odgovarajući na, OnePlus je brzo obećao da će prestati ciljati aplikacije za benchmarking s njihovim varanjem, ali ga i dalje namjerava zadržati za igre (koje također imaju benchmarking). U budućoj verziji OxygenOS-a ovaj mehanizam neće pokretati referentne vrijednosti. OnePlus je prihvatio naš prijedlog da se doda i prekidač kako bi korisnici znali što se događa ispod haube, a u najmanju ruku trebala bi biti nepravedna i obmanjujuća prednost u mjerilima ispravljeno. Ipak, zbog kineskih novogodišnjih praznika i zaostalih značajki, moglo bi proći neko vrijeme prije nego što vidimo korisničke mogućnosti prilagodbe za ovu značajku performansi. Iako je samo ispravljanje ponašanja napredak, još uvijek je pomalo razočaravajuće vidjeti ga redovito aplikacije (poput igara), budući da je to prepreka za ciljanje određenih aplikacija, umjesto poboljšanja stvarne izvedbe skaliranje. Umjetnim povećanjem agresivnosti procesora, a time i brzinama takta za određene aplikacije umjesto da poboljšaju sposobnost svojih telefona da prepoznaju kada je stvarno potrebno više brzinama takta, OnePlus stvara nedosljedne performanse za svoje telefone, što će postati samo očitije kako telefon postaje stariji i sve više igara koje OnePlus nije ciljao pušten na slobodu. Međutim, implementacija trenutno omogućuje bolju izvedbu igara. OnePlus je također dao izjavu za ovaj članak, koju možete pročitati u nastavku:

 'Kako bismo korisnicima pružili bolje korisničko iskustvo u aplikacijama i igrama koje zahtijevaju dosta resursa, posebno grafički One, implementirali smo određene mehanizme u zajednici i Nougat nadogradnje kako bismo pokrenuli procesor da radi više agresivno. Proces pokretanja za benchmarking aplikacija neće biti prisutan u nadolazećim verzijama OxygenOS-a na OnePlus 3 i OnePlus 3T.'

Drago nam je čuti da će OnePlus ukloniti varanje mjerila sa svojih telefona. Ubuduće ćemo nastaviti pokušavati vršiti pritisak na proizvođače originalne opreme da budu više prijateljski nastrojeni prema potrošačima kad god je to moguće, te ćemo paziti na buduća varanja referentnih vrijednosti.

Nažalost, jedini pravi odgovor na ovu vrstu prijevare je stalni oprez. Kao zajednica entuzijasta pametnih telefona, moramo paziti na pokušaje obmane korisnika poput ovoga. Ne zanimaju nas sami rezultati benchmarka, već što testovi govore o performansama telefona. Dok benchmark varanje još nije bilo aktivno na OnePlus 3 kada smo ga pregledali, jednostavno ažuriranje softvera bilo je dovoljno za dodavanje ove obmanjujuće "značajke", i jasno pokazuje da provjera uređaja za varanje referentne vrijednosti pri prvom pokretanju nije dovoljno. Problemi poput ovog mogu se dodati danima, tjednima, mjesecima ili čak godinama nakon pokretanja uređaja, umjetno napuhavanje globalnih prosjeka prikupljenih referentnim vrijednostima kroz nekoliko mjeseci, utječući na konačnu bazu podataka proizlaziti. Treba napomenuti da čak i uz ova podešavanja u čije su razvijanje proizvođači morali uložiti vrijeme i novac, obično vidimo samo nekoliko postotnih bodova povećanja u referentnim rezultatima (isključujući nekoliko rubnih slučajeva kao što je Meizu, gdje varanje prikriva puno veće probleme). Nekoliko postotnih bodova, što je puno manje od razlike između uređaja s najboljim i najgorim performansama. Međutim, smatramo da s uređajima koji pokreću sve sličniji hardver ti dodatni postotni bodovi mogu biti odlučujući čimbenik u rang-ljestvicama koje korisnici u konačnici traže. Bolja optimizacija upravljačkog programa i pametnije skaliranje CPU-a mogu imati apsolutno ogroman učinak na performanse uređaja, s razlikom između rezultat uređaja koji se temelji na Qualcomm Snapdragon 820 s najboljim performansama i uređaja s najlošijim performansama (od velikog OEM-a) koji prelazi 20% na Geekbench. Dvadeset posto od optimizacije upravljačkog programa, umjesto nekoliko postotnih bodova od trošenja vremena i novca na prevaru vaših korisnika. A to je samo govor o razvojnim naporima koji mogu utjecati na referentne rezultate. Mnoge od najvećih prednosti ulaganja u poboljšanje softvera uređaja ne pojavljuju se uvijek na mjerilima, a OnePlus nudi izvrsne performanse u stvarnom svijetu na svojim uređajima. Zaista bi trebalo biti jasno gdje bi se razvojni napori tvrtke trebali usredotočiti u ovom slučaju. Obraćamo se sve većem broju tvrtki koje varaju na referentnim vrijednostima čim ih pronađemo i nadamo se da su jednako osjetljive kao OnePlus.


Željeli bismo još jednom zahvaliti timu Primate Labsa što su s nama radili na otkrivanju ovog problema. Bilo bi znatno teže ispravno testirati Benchmark Cheating bez “Mini Golf” izdanja Geekbencha.