Huijaamisen vertailukohta: kuinka OnePlus ja muut joutuivat rikokseen ja mitä he ovat tehneet asialle

OnePlus ja Meizu ovat jääneet kiinni vertailuarvojen huijaamisesta. XDA tutkii, miten se tapahtui ja mitä voidaan tehdä estääkseen sen toistumisen.

Muutama vuosi sitten syntyi suuri kohu, kun lukuisat suuret valmistajat jäivät kiinni vertailuarvojen huijaamisesta. Kaikenkokoiset OEM-valmistajat (mukaan lukien Samsung, HTC, Sony, ja LG) osallistuivat tähän asekilpailuun, jossa he yrittivät huijata käyttäjiä jäämättä kiinni, mutta onneksi he lopulta lopettivat vertailupetoksensa käytyään rehellisiä keskusteluja alan asiantuntijoita ja toimittajia.

Vuonna 2013 se oli löydetty että Samsung nosti keinotekoisesti grafiikkasuorittimen kellotaajuutta tietyissä sovelluksissa, mikä sai aikaan sarjan tutkimuksia benchmark-huijaamiseen kaikilla valmistajilla. Tuolloin tutkimuksessa havaittiin, että lähes kaikki valmistajat paitsi Google/Motorola osallistuivat vertailuhuijaukseen. He kaikki investoivat aikaa ja rahaa yrittääkseen saada hieman ylimääräistä suorituskykyä puhelimistaan ​​vertailuarvoissa tavoilla, jotka ei vaikuttaisi positiivisesti jokapäiväiseen käyttöön, jotta käyttäjät saataisiin huijatuksi luulemaan, että heidän puhelimensa ovat nopeampia kuin ne todellisuudessa olivat. Nämä kehitystyöt käsittelivät koko kirjon kellotaajuuksien lattian asettamisesta, kellotaajuuksien pakottamiseen maksimiasetuksiin, jopa erityisten korkeampien luomiseen. tehotilat ja erityiset kellotaajuudet, jotka olivat käytettävissä vain vertailussa, ja nämä ponnistelut johtivat usein vain muutaman prosenttiyksikön nousuun benchmark.

Sen havaitessa oli huomattavaa suuttumusta, koska nämä vertailuarvojen huijausyritykset olivat ristiriidassa itse vertailuarvojen periaatteen kanssa. Useimmat vertailuarvot eivät ole olemassa kertomaan sinulle puhelimen teoreettista maksimaalista suorituskykyä laboratorio-olosuhteissa, jotka eivät ole toistettavissa päivittäisessä käytössä, mutta pikemminkin ne tarjoavat sinulle viitekohdan todelliseen vertailuun puhelimet. Teknologiajulkaisujen, alan johtajien ja muiden julkisten moittimien (ja joidenkin yksityisten keskustelujen) jälkeen suurelle yleisölle, useimmat valmistajat saivat viestin, että benchmark-huijaaminen ei yksinkertaisesti ollut hyväksyttävää, ja lopetettiin a tulos. Suurin osa niistä harvoista, jotka eivät pysähtyneet siihen pisteeseen, pysähtyivät pian sen jälkeen, koska siellä tehtiin merkittäviä muutoksia kuinka monta vertailuarvoa suoritetaan, jotta yritetään estää vertailuindeksien huijaaminen (vähentämällä se). Monia vertailuarvoja tehtiin pidempiä, jotta kellotaajuuksien maksimoinnista johtuva lämpökuristus tulisi heti näkyviin.

Kun me haastateltu John Poole, Geekbenchin luoja, puhui vertailuhuijaamisesta ja siitä, mitä yritykset, kuten Primate Labs, voivat tehdä estääkseen sen. Erityisesti Primate Labs teki Geekbench 4:stä hieman pidemmän kuin Geekbench 3:n, osittain vähentääkseen vertailuhuijauksen vaikutuksia. Hyötyjen vähentäminen sen varmistamiseksi, että kehitystä benchmark-huijaamisen kustannukset eivät ole sen arvoisia.

"Ongelma on, että kun meillä on nämä suuret käyttöajat, jos aloitat pelaamisen nostamalla kelloa nopeudet tai kuvernöörien poistaminen käytöstä tai jotain sellaista, alat asettaa todellista vaaraa puhelin... Jos aiot pelata sitä... et saa siitä niin paljon irti. Saatat silti saada muutaman prosentin, mutta onko se todella sen arvoista?" - John Poole


Mitä tapahtui

Valitettavasti meidän on raportoitava, että jotkin OEM-valmistajat ovat alkaneet jälleen huijata, mikä tarkoittaa, että meidän pitäisi olla jälleen valppaana. Onneksi valmistajat ovat reagoineet yhä enemmän tällaisiin ongelmiin, ja kun asiaan kiinnitetään oikea huomio, tämä voidaan korjata nopeasti. On hieman järkyttävää nähdä, kuinka valmistajat ottavat käyttöön benchmark-huijauksen, kun otetaan huomioon, kuinka huono vastareaktio oli viime kerralla sitä yritettiin (joillakin vertailuarvoilla, jotka sulkivat huijauslaitteet kokonaan pois niiden suorituskyvystä luettelot). Tämä vastareaktio on ristiriidassa sen kanssa, kuinka pieniä vertailuhuijaamisesta tyypillisesti saatavat suoritushyödyt ovat (useimmat yrityksistä, jotka johtivat alle 5 prosentin pistemäärän nousuun viime kerralla), olimme todella toivoneet, että tämä kaikki jäisi taakse meille.

Tämän yrityksen ajoitus on erityisen sopimaton, sillä pari kuukautta sitten benchmark-huijaaminen jätti maailman olevan puhtaasti innostunut huolenaihe, ja tuli julkisuuteen, kun Volkswagen ja Fiat Chrysler jäivät molemmat kiinni päästöjensa huijaamisesta vertailuarvot. Molemmat yhtiöt ottivat käyttöön ohjelmiston, joka havaitsi, milloin heidän dieselautoilleen tehtiin päästötestit, ja saivat ne siirtymään vähäpäästöiseen tilaan. joiden polttoainetalous pieneni yrittäessään kilpailla bensiiniautojen kanssa polttoainetehokkuudessa ja pysyä silti päästörajojen sisällä testejä. Toistaiseksi skandaali on johtanut miljardeihin sakkoihin, kymmeniin miljardeihin takaisinkutsukustannuksiin ja syytteiden nostamiseen - ei todellakaan kosto. OEM-valmistajat haluaisivat koskaan nostaa vertailupisteitään, jotka ovat pelkästään käyttäjien vertailuja ja joita ei käytetä minkään sääntelyn mittaamiseen. vaatimukset.

Sillä aikaa tutkia, kuinka Qualcomm saavuttaa nopeammat sovellusten avausnopeudet silloin uudessa Qualcomm Snapdragon 821:ssä huomasimme jotain outoa OnePlus 3T joita emme voineet kopioida Xiaomi Mi Note 2 tai Google Pixel XL, muiden Snapdragon 821 -laitteiden joukossa. Päätoimittajamme Mario Serrafero käytti Qualcomm Trepnia ja Snapdragon Performance Visualizer -ohjelmaa seuratakseen, kuinka Qualcomm "tehostaa" suoritinta. kellonopeus sovelluksia avattaessa ja huomasi, että tietyt OnePlus 3T: n sovellukset eivät laskeneet takaisin normaaleille joutokäyntinopeuksilleen avaaminen. Yleisenä nyrkkisääntönä on, että vältämme vertailuarvojen testaamista suorituskyvyn seurantatyökaluilla aina kun mahdollista, koska ne lisäävät suorituskykyä. (etenkin muissa kuin Snapdragon-laitteissa, joissa ne eivät ole virallisia työpöytätyökaluja), mutta tässä tapauksessa ne auttoivat meitä havaitsemaan outoa käyttäytymistä, jonka olisimme todennäköisesti jääneet huomaamatta. muuten.

Tietyissä benchmarking-sovelluksissa OnePlus 3T: n ytimet pysyisivät yli 0,98 GHz: n pienten ytimien ja 1,29 GHz: n yläpuolella isojen ytimien kohdalla, vaikka suorittimen kuormitus putosi 0 prosenttiin. Tämä on melko outoa, koska normaalisti molemmat ydinsarjat putoavat 0,31 GHz: iin OnePlus 3T: ssä, kun kuormaa ei ole. Kun näin ensimmäisen kerran tämän, olimme huolissamme siitä, että OnePlusin CPU-skaalaus oli yksinkertaisesti asetettu hieman oudosti, Lisätestauksen jälkeen päädyimme kuitenkin siihen johtopäätökseen, että OnePlusin on oltava kohdistuskohtainen sovellukset. Hypoteesimme oli, että OnePlus kohdistaa nämä vertailuarvot nimellisesti ja siirtyi vaihtoehtoiseen suorittimen skaalaustilaan nostaakseen vertailupisteitä. Yksi suurimmista huolenaiheistamme oli, että OnePlus oli mahdollisesti asettanut löysempiä lämpörajoituksia tässä tilassa välttääkseen OnePlusin kanssa esiintyneet ongelmat. One, OnePlus X ja OnePlus 2, joissa puhelimet käsittelivät huonosti Geekbenchin moniydinosion verkkoon tulevia lisäytimiä. ajoittain hillitseminen huomattavasti tämän seurauksena (pisteeseen, jossa OnePlus X sai toisinaan huonommat pisteet moniytimisessä kuin yksittäisessä osassa ydinosa). Löydät meiltä raskaan kuristuksen OnePlus 2 arvostelu, jossa havaitsimme, että laite voi pudottaa jopa 50 % Geekbench 3:n moniytimispisteistä. Myöhemmin, kun aloimme vertailla kuristusta ja lämpöä eri laitteiden välillä, OnePlus 2 siitä tuli oppikirjaesimerkki siitä, mitä OEM-valmistajien tulisi välttää.

Otimme yhteyttä joukkueeseen klo Primate Labs (Geekbenchin luojat), jotka auttoivat paljastamaan vertailuhuijauksen ensimmäisen aallon ja tekivät yhteistyötä heidän kanssaan lisätestauksessa. Toimme OnePlus 3T: n Primate Labsin Toronton toimistoon alustavaa analyysiä varten. Alkutestaukseen sisältyi ROM-vedos, joka havaitsi, että OnePlus 3T etsi suoraan useita sovelluksia nimellä. Erityisesti OnePlus 3T etsi Geekbenchiä, AnTuTua, Androbenchiä, Quadrantia, Vellamoa ja GFXBenchiä. Koska meillä oli tässä vaiheessa melko selkeitä todisteita siitä, että OnePlus harjoitti vertailupetoksia, Primate Labs rakensi “Bobin minigolfputti” versio Geekbench 4:stä meille. Kiitos merkittäviä muutoksia Geekbench 3:n ja 4:n välillä "Minigolf" versio piti rakentaa uudelleen alusta alkaen erityisesti tätä testausta varten. Tämä Geekbench 4:n versio on suunniteltu välttämään vertailuarvojen havaitsemista, jotta Geekbench voisi toimia normaalisti sovellus puhelimissa, jotka huijaavat (joka ylittää paketin uudelleennimeämisen, joka huijaa useimmat vertailuyritykset pettäminen).


Yllättävä esimerkki

Heti sovelluksen avaamisen jälkeen ero oli selvä. OnePlus 3T oli tyhjäkäynnillä 0,31 GHz: llä, kuten useimmissa sovelluksissa, eikä 1,29 GHz: llä suurille ytimille ja 0,98 GHz: lle pienille ytimille, kuten tavallisessa Geekbench-sovelluksessa. OnePlus teki prosessorin ohjaimesta aggressiivisemman, mikä johti käytännölliseen keinotekoiseen kellonopeuslattiaan Geekbenchissä, jota ei ollut piilotetussa Geekbench-rakennuksessa. Se ei perustunut suorittimen työkuormaan, vaan pikemminkin sovelluksen paketin nimeen, jonka piilotettu rakenne voi huijata. Vaikka ero yksittäisissä ajoissa oli minimaalinen, lämpökuristuksen relaksaatiot loistavat alla näytetyssä jatkuvan suorituskyvyn testissämme.

Testimme perusteella näyttää siltä, ​​että tämä on ollut Hydrogen OS: n "ominaisuus" jo jonkin aikaa, eikä sitä ole lisätty Oxygen OS: ään ennen kuin yhteisö rakentuu ennen Nougat-julkaisua (sen jälkeen kaksi ROM-levyä yhdistettiin). On hieman pettymys nähdä, etenkin kun otetaan huomioon ohjelmisto-ongelmat, joita OnePlusilla on ollut tässä kuussa ROM-levyjen yhdistämisen jälkeen. käynnistyslataimen haavoittuvuuksia to GPL-yhteensopivuusongelmat. Toivomme, että kun pöly laskeutuu kahden tiimin yhdistämisen jälkeen, OnePlus palaa muotoonsa ja jatkaa asemansa kehittäjäystävällisenä vaihtoehtona.

Kanssa "Minigolf" Geekbenchin versio kädessä, menimme ulos ja aloimme testata myös muita puhelimia vertailuhuijauksen varalta. Onneksi testimme ei osoita, että puoli vuosikymmentä sitten skandaaliin osallistuneet yritykset eivät huijaa. HTC: llä, Xiaomilla, Huaweilla, Honorilla, Googlella, Sonylla ja muilla näyttää olevan tasaiset pisteet tavallisen Geekbench-koontiversion ja "Minigolf" rakentaa testauslaitteihimme.

Valitettavasti löysimme mahdollisia todisteita benchmark-huijauksesta, joita emme ole vielä pystyneet vahvistamaan muutamalta muulta yritykseltä, ja tutkimme niitä edelleen. Pahin esimerkki tästä oli Exynos 8890 -moottorilla varustettu Meizu Pro 6 Plus, joka vei vertailupetoksen toiseen äärimmäisyyteen.


Kamala esimerkki

Meizu on perinteisesti asettanut CPU-skaalauksensa erittäin konservatiivisesti. Erityisesti he asettavat puhelimensa usein niin, että suuret ytimet tulevat harvoin verkkoon, vaikka ne olisivatkin "suorituskykytilassa", mikä tekee lippulaivaprosessoreista (kuten erinomaiset Exynos 8890), jotka he laittavat lippulaivapuhelimiinsa, toimivat kuin keskitason prosessorit. Asia selvisi viime vuonna, kun Anandtech kutsuivat Meizun huonoon suorituskykyyn Anandtechin JavaScript-testeissä Mediatek Helio X25 -pohjaisessa Meizu Pro 6:ssa, ja totesi, että suuret ytimet pysyivät offline-tilassa suurimman osan testistä (kun testin olisi pitänyt olla käynnissä lähes yksinomaan suurella ytimet). Anandtech huomasi viime viikolla, että Meizu Pro 6:een oli työnnetty ohjelmistopäivitys, joka vihdoin antoi Meizulle mahdollisuuden käyttää näitä ytimiä täysillä. Anandtechin älypuhelinten vanhempi toimittaja Matt Humrick, huomautti että "Flyme OS 5.2.5.0G: ksi päivityksen jälkeen PRO 6 toimii huomattavasti paremmin. Kraken-, WebXPRT 2015- ja JetStream-pisteet paranevat noin 2x-2,5x. Meizu ilmeisesti sääti kuormituksen kynnysarvoa, jolloin säikeet siirtyivät A72-ytimiin useammin suorituskyvyn parantamiseksi."

Valitettavasti näyttää siltä, ​​että sen sijaan, että parantaisivat uusien laitteidensa prosessorin skaalausta vertailupisteet, ne näyttävät asettaneen puhelimen siirtymään käyttämään suuria ytimiä, kun tietyt sovellukset ovat käynnissä.

Kun avaat benchmarking-sovelluksen, Meizu Pro 6 Plus suosittelee, että siirryt "Performance Mode" -tilaan (joka yksin on riittää vahvistamaan, että he etsivät tiettyjä paketin nimiä), ja sillä näyttää olevan merkittävä ero. Normaalissa tasapainotilassa puhelin saa jatkuvasti noin 604 ja 2220 pisteet Geekbenchin yksi- ja moniytimisissä osissa, mutta "Performance Mode" saa pisteet 1473 ja 3906 suurelta osin sen ansiosta, että suuret ytimet pysyivät poissa suurimman osan testistä "Balance Mode" -tilassa ja käynnistyivät "Suorituskykytila". Meizu näyttää lukitsevan pienet ytimet niiden 1,48 GHz: n maksiminopeuteen ja asettavan kovan lattian kahdelle suurelle 1,46 GHz: n ytimelle. Geekbench "Performance Mode" -tilassa (jossa kaksi muuta suurta ydintä saavat skaalautua vapaasti ja melko aggressiivisesti), jota emme näe, kun käynnissä "Minigolf" rakentaa.

Vaikka mahdollisuus valita suuren tehon ja vähän virtaa käyttävän tilan välillä voi olla mukava ominaisuus, tässä tapauksessa se ei näytä olevan muuta kuin salin temppu. Meizu Pro 6 Plus näkee kunnolliset pisteet "Performance Mode" -tilassa tavallisessa Geekbench-sovelluksessa, mutta käytettäessä "Minigolf" Geekbenchin rakennus, se laskee heti takaisin samalle suoritustasolle kuin se on, kun se on asetettu "Balance Mode" -tilaan. Meizu Pro 6 Plus: n korkeampi suorituskykytila ​​on vain vertailua varten, ei varsinaiseen päivittäiseen käyttöön.

Yksi huomioitava asia on, että kun testasimme Meizu Pro 6 Plus -laitetta "Performance Mode" -tilassa salaisuuden kanssa Geekbenchin versiossa suuret ytimet tulivat verkkoon, jos tallensimme kellotaajuudet Qualcommilla Trepn. Emme ole vielä päättäneet, tunnistaako Meizu, että Trepn on käynnissä ja käynnistää suuret ytimet osa sen takia, tai jos se yksinkertaisesti käynnistää suuret ytimet ylimääräisen suorittimen kuormituksen vuoksi luo. Vaikka saattaa kuulostaa intuitiiviselta, että lisäkuormitus taustalla (kuten silloin, kun pidimme suorituskykykaavioita päällä testin aikana) lisääntyä vertailun tulokset, Meizun konservatiivinen skaalaus voi tarkoittaa, että ylimääräiset yleiskustannukset olivat tarpeeksi työntämään sen reunan yli ja saamaan suuret ytimet toimintaan, mikä parantaa suorituskykyä kaikille tehtäviä.


Kun vastaanottavaiset OEM-valmistajat antavat palautetta...

Testauksen jälkeen otimme yhteyttä OnePlusiin löytämistämme ongelmista. Vastauksena, OnePlus lupasi nopeasti lopettaa benchmarking-sovellusten kohdistamisen vertailuhuijauksiinsa, mutta aikoo silti säilyttää sen peleissä (jotka myös testataan). OxygenOS: n tulevassa versiossa vertailuarvot eivät laukaise tätä mekanismia. OnePlus on ottanut vastaan ​​ehdotuksemme lisätä myös kytkin, jotta käyttäjät tietävät, mitä tapahtuu konepellin alla, ja vähintäänkin epäoikeudenmukainen ja harhaanjohtava etu vertailuarvoissa korjattu. Kiinalaisen uudenvuoden loman ja niiden ominaisuusruuhkan vuoksi voi kuitenkin kestää jonkin aikaa, ennen kuin näemme tämän suorituskykyominaisuuden käyttäjäkohtaisia ​​mukautusvaihtoehtoja. Vaikka käyttäytymisen korjaaminen yksin on parannus, se on silti hieman pettymys nähdä säännöllisesti sovelluksia (kuten pelit), koska se on kainalosauva kohdistaa tiettyihin sovelluksiin sen sijaan, että se parantaa todellista suorituskykyä skaalaus. Lisäämällä keinotekoisesti prosessorin aggressiivisuutta ja siten tiettyjen sovellusten kellotaajuuksia sen sijaan, että ne parantaisivat puhelimen kykyä tunnistaa, milloin se todella tarvitsee enemmän kellotaajuuksilla, OnePlus luo epäjohdonmukaista suorituskykyä heidän puhelimiinsa, mikä tulee vain selvemmäksi, kun puhelin vanhenee ja lisää pelejä, joihin OnePlus ei ole kohdistanut vapautettu. Toteutus kuitenkin mahdollistaa tällä hetkellä pelien suorituskyvyn paremmin. OnePlus toimitti myös lausunnon tälle artikkelille, jonka voit lukea alta:

 "Jotta käyttäjille tarjotaan parempi käyttökokemus resurssiintensiivisissä sovelluksissa ja peleissä, erityisesti graafisesti vaativissa Yksi niistä, otimme käyttöön tiettyjä mekanismeja yhteisössä ja Nougat-koontiversiot käynnistääksemme prosessorin enemmän aggressiivisesti. Sovellusten benchmarkingin käynnistysprosessi ei ole läsnä tulevissa OnePlus 3:n ja OnePlus 3T: n OxygenOS-versioissa.

Olemme iloisia kuullessamme, että OnePlus poistaa benchmark-huijauksen puhelimistaan. Jatkossa yritämme painostaa OEM-valmistajia olemaan kuluttajaystävällisempiä aina kun mahdollista, ja pidämme silmällä tulevaa vertailuhuijausta.

Valitettavasti ainoa oikea vastaus tämäntyyppiseen petokseen on jatkuva valppaus. Älypuhelinten harrastajayhteisönä meidän on pidettävä silmämme auki yrityksiltä huijata käyttäjiä tällä tavalla. Emme ole kiinnostuneita itse benchmark-pisteistä, vaan pikemminkin siitä, mitä vertailuarvot kertovat puhelimen suorituskyvystä. Vaikka benchmark huijaaminen ei ollut vielä aktiivinen OnePlus 3 kun tarkastelimme sitä, yksinkertainen ohjelmistopäivitys riitti lisäämään tämän harhaanjohtavan "ominaisuuden" ja osoittaa selvästi, että laitteiden tarkistaminen vertailuhuijauksen varalta niiden ensimmäisen käynnistyksen yhteydessä ei ole tarpeeksi. Tämän kaltaiset ongelmat voidaan lisätä keinotekoisesti päiviä, viikkoja, kuukausia tai jopa vuosia laitteen käynnistämisen jälkeen paisuttamalla vertailuarvojen avulla kerättyjä globaaleja keskiarvoja kuukausia peräkkäin, mikä vaikuttaa lopulliseen tietokantaan tulos. On huomattava, että jopa näillä parannuksilla, jotka valmistajien oli investoitava aikaa ja rahaa kehittääkseen, näemme tyypillisesti vain muutaman prosenttiyksikön nousun vertailupisteissä (lukuun ottamatta muutamaa marginaalista tapausta, kuten Meizu, joissa huijaus peittää paljon suurempia ongelmia). Pari prosenttiyksikköä, mikä on paljon pienempi kuin ero parhaiten suoriutuvien ja huonoiten toimivien laitteiden välillä. Väittäisimme kuitenkin, että kun laitteet käyttävät yhä enemmän samankaltaisia ​​laitteistoja, nämä ylimääräiset prosenttipisteet saattavat olla ratkaiseva tekijä käyttäjien viime kädessä katsomissa sijoitustaulukoissa. Paremmalla ohjaimen optimoinnilla ja älykkäämmällä prosessorin skaalauksella voi olla ehdottoman suuri vaikutus laitteen suorituskykyyn. parhaiten suoriutuneen Qualcomm Snapdragon 820 -pohjaisen laitteen ja heikoimman suorituskyvyn (suurelta OEM: ltä) yli 20 % Geekbench. Kaksikymmentä prosenttia kuljettajien optimoinnista sen sijaan, että pari prosenttiyksikköä kuluisi aikaa ja rahaa käyttäjien huijaamiseen. Ja tässä puhutaan vain kehitystoimista, jotka voivat vaikuttaa vertailupisteisiin. Monet laitteen ohjelmiston parantamiseen investoinnin suurimmista eduista eivät aina näy vertailuarvoissaOnePlus tarjoaa erinomaisen suorituskyvyn todellisessa maailmassa laitteissaan. Pitäisi todellakin olla selvä, mihin yrityksen kehitystyö tässä tapauksessa tulisi suunnata. Otamme yhteyttä useampiin yrityksiin, jotka huijaavat vertailuarvoja, kun löydämme niitä, ja toivomme, että ne ovat yhtä vastaanottavaisia ​​kuin OnePlus.


Haluamme vielä kerran kiittää Primate Labsin tiimiä yhteistyöstä kanssamme tämän ongelman selvittämiseksi. Olisi ollut huomattavasti vaikeampaa testata Benchmark Cheatingia kunnolla ilman Geekbenchin "Mini Golf" -versiota.