Benchmarkové podvádzanie vracia úder: Ako boli OnePlus a ďalší prichytení pri čine a čo s tým urobili

OnePlus a Meizu boli prichytení pri podvádzaní na benchmarkoch. XDA skúma, ako sa to stalo a čo možno urobiť, aby sa to už neopakovalo.

Pred niekoľkými rokmi došlo k značnému rozruchu, keď mnohí významní výrobcovia boli prichytení pri podvádzaní pri porovnávaní. OEM všetkých veľkostí (vrátane Samsung, HTC, Sonya LG) sa zúčastnili na týchto pretekoch v zbrojení v snahe oklamať používateľov bez toho, aby ich chytili, ale našťastie nakoniec po niekoľkých úprimných diskusiách s podvádzaním prestali. odborníkov z odvetvia a novinárov.

Ešte v roku 2013 to tak bolo objavil že Samsung umelo zvyšoval frekvenciu GPU v určitých aplikáciách, čo vyvolalo sériu vyšetrovania do benchmarkového podvádzania v celej škále výrobcov. V tom čase vyšetrovanie zistilo, že takmer každý výrobca okrem Google/Motoroly sa podieľal na podvádzaní benchmarkov. Všetci investovali čas a peniaze do pokusov o zvýšenie výkonu svojich telefónov v benchmarkoch spôsobom, ktorý by to nemalo žiadny pozitívny vplyv na každodenné používanie, v snahe oklamať používateľov, aby si mysleli, že ich telefóny sú rýchlejšie ako v skutočnosti boli. Tieto vývojové snahy sa rozbehli v celom rozsahu, od nastavenia spodnej hranice rýchlosti hodín, cez vynútenie rýchlosti hodín na ich maximálne nastavenia, až po vytvorenie špeciálnych vyšších stavy napájania a špeciálne rýchlosti hodín, ktoré boli k dispozícii iba pri porovnávaní, pričom tieto snahy často viedli k zvýšeniu iba o niekoľko percentuálnych bodov benchmark.

Keď sa to zistilo, vyvolalo to značné pobúrenie, pretože tieto pokusy o podvádzanie benchmarkov boli v rozpore so samotným bodom benchmarkov. Väčšina benchmarkov nie je na to, aby vám povedala teoretický maximálny výkon telefónu v laboratórnych podmienkach, ktoré nie sú reprodukovateľné pri každodennom používaní, ale skôr sú tu na to, aby vám poskytli referenčný bod pre porovnanie medzi telefónov. Po krátkom verejnom nadávaní (a niekoľkých súkromných rozhovoroch) od technologických publikácií, lídrov v tomto odvetví a pod široká verejnosť, väčšina výrobcov dostala správu, že podvádzanie benchmarkov jednoducho nie je prijateľné a prestali ako a výsledok. Väčšina z mála, ktorí sa v tom bode nezastavili, sa čoskoro zastavila, pretože došlo k podstatným zmenám na to, koľko benchmarkov beží, v snahe odradiť od podvádzania benchmarkov (znížením prínosu z to). Mnohé benchmarky boli predĺžené, aby sa okamžite prejavilo tepelné škrtenie z maximalizácie rýchlosti hodín.

Keď sme rozhovor John Poole, tvorca Geekbench, sa objavila téma benchmarkového podvádzania a toho, čo môžu spoločnosti ako Primate Labs urobiť, aby tomu zabránili. Najmä spoločnosť Primate Labs urobila Geekbench 4 o niečo dlhší ako Geekbench 3, čiastočne preto, aby znížili účinky podvádzania benchmarkov. Zníženie výhod, aby sa zabezpečilo, že rozvoj náklady na benchmark podvádzanie nestoja za to.

„Problém je v tom, že keď už budeme mať tieto veľké runtime, ak začnete hrať veci tak, že zvýšite čas rýchlosti alebo deaktiváciou regulátorov alebo niečoho podobného, ​​začnete do toho dávať skutočné skutočné nebezpečenstvo telefón... Ak to idete hrať... nezískaš z toho toľko. Stále môžete získať pár percent, ale naozaj to stojí za to?" - John Poole


Čo sa stalo

Žiaľ, musíme oznámiť, že niektorí výrobcovia OEM opäť začali podvádzať, čo znamená, že by sme sa mali mať opäť na pozore. Našťastie výrobcovia čoraz viac reagujú na problémy, ako je tento, a ak sa tomu venuje správna pozornosť, dá sa to rýchlo vyriešiť. Je trochu šokujúce vidieť, ako výrobcovia zavádzajú benchmarkové podvádzanie vo svetle toho, aký zlý bol odpor naposledy to bol pokus (s niektorými benchmarkmi úplne vylučujúcimi podvádzacie zariadenia z ich výkonu zoznamy). S týmto odporom, ktorý je v kontraste s tým, aké malé sú zvyčajne zisky z výkonu z benchmarkového podvádzania (s väčšinou z pokusov, ktorých výsledkom bolo naposledy menej ako 5 % zvýšenie skóre), sme skutočne dúfali, že toto všetko bude pozadu nás.

Načasovanie tohto pokusu je obzvlášť nevhodné, keďže pred pár mesiacmi benchmarkové podvádzanie opustilo svet čisto nadšencov a vstúpil do verejnej sféry, keď boli Volkswagen a Fiat Chrysler prichytení pri podvádzaní s emisiami referenčné hodnoty. Obe spoločnosti implementovali softvér na zistenie, kedy ich dieselové autá prechádzajú testovaním emisií, a nechali ich prepnúť do režimu s nízkymi emisiami ktoré zaznamenali pokles spotreby paliva v snahe konkurovať benzínovým autám v palivovej účinnosti a zároveň zostať v rámci regulačných limitov pre emisie testy. Škandál doteraz viedol k miliardovým pokutám, desiatkam miliárd nákladov na stiahnutie a uloženiu poplatkov – rozhodne to nie je druh odplaty. Výrobcovia OEM by niekedy videli nafúknutie svojich referenčných skóre, ktoré slúžia výlučne na porovnávanie používateľov a nepoužívajú sa na meranie žiadnych regulačných požiadavky.

Zatiaľ čo skúma, ako Qualcomm dosahuje rýchlejšie rýchlosti otvárania aplikácií na vtedy novom Qualcomm Snapdragon 821 sme si všimli niečo zvláštne OnePlus 3T ktoré sme nemohli reprodukovať na Xiaomi Mi Note 2 alebo Google Pixel XL, medzi inými zariadeniami Snapdragon 821. Náš šéfredaktor Mario Serrafero používal Qualcomm Trepn a Snapdragon Performance Visualizer na monitorovanie toho, ako Qualcomm „posilňuje“ CPU. rýchlosť hodín pri otváraní aplikácií a všimli sme si, že niektoré aplikácie na OnePlus 3T neklesli späť na svoju normálnu voľnobežnú rýchlosť po otvorenie. Ako všeobecné pravidlo sa vyhýbame testovaniu benchmarkov s nástrojmi na monitorovanie výkonu, ktoré sú otvorené vždy, keď je to možné, kvôli dodatočnej réžii výkonu, ktorú prinášajú. (najmä v zariadeniach iných ako Snapdragon, kde neexistujú žiadne oficiálne nástroje pre stolné počítače), avšak v tomto incidente nám pomohli všimnúť si nejaké zvláštne správanie, ktoré by nám pravdepodobne uniklo inak.

Pri vstupe do určitých benchmarkovacích aplikácií by jadrá OnePlus 3T zostali nad 0,98 GHz pre malé jadrá a 1,29 GHz pre veľké jadrá, aj keď zaťaženie procesora kleslo na 0 %. To je celkom zvláštne, pretože normálne obe sady jadier klesnú na 0,31 GHz na OnePlus 3T, keď nie je zaťaženie. Keď sme to prvýkrát videli, obávali sme sa, že škálovanie CPU OnePlus bolo jednoducho nastavené trochu zvláštne, po ďalšom testovaní sme však dospeli k záveru, že OnePlus musí byť zamerané konkrétne aplikácie. Naša hypotéza bola, že OnePlus sa zameral na tieto referenčné hodnoty podľa názvu a vstupoval do alternatívneho režimu škálovania CPU, aby zvýšil svoje referenčné skóre. Jednou z našich hlavných obáv bolo, že OnePlus možno v tomto režime nastavil voľnejšie tepelné obmedzenia, aby sa predišlo problémom, ktoré mali s OnePlus. One, OnePlus X a OnePlus 2, kde telefóny zle zvládali ďalšie jadrá prichádzajúce online pre viacjadrovú sekciu Geekbench a v dôsledku toho sa občas výrazne zníži plyn (až do bodu, keď OnePlus X niekedy skóroval nižšie vo viacjadrovej sekcii ako v jednej jadrová časť). Silné škrtenie nájdete u nás Recenzia OnePlus 2, kde sme zistili, že zariadenie dokáže zhodiť až 50 % svojho viacjadrového skóre Geekbench 3. Neskôr, keď sme začali porovnávať škrtenie a teplotu medzi zariadeniami, OnePlus 2 sa stal učebnicovým príkladom toho, čomu by sa OEM mali vyhnúť.

Oslovili sme tím o Laboratóriá primátov (tvorcovia Geekbench), ktorí boli nápomocní pri odhalení prvej vlny benchmarkového podvádzania a spolupracovali s nimi na ďalšom testovaní. Priniesli sme OnePlus 3T do kancelárie Primate Labs v Toronte na úvodnú analýzu. Počiatočné testovanie zahŕňalo výpis pamäte ROM, ktorý zistil, že OnePlus 3T priamo hľadal podľa mena niekoľko aplikácií. Predovšetkým, OnePlus 3T hľadal Geekbench, AnTuTu, Androbench, Quadrant, Vellamo a GFXBench. Keďže sme v tomto bode mali pomerne jasný dôkaz, že OnePlus sa zapája do podvádzania benchmarkov, spoločnosť Primate Labs vybudovala “Bobov minigolfový putt” verzia Geekbench 4 pre nás. Vďaka podstatné zmeny medzi Geekbench 3 a 4, “Mini golf” verzia musela byť od základov prestavaná špeciálne pre toto testovanie. Táto verzia Geekbench 4 je navrhnutá tak, aby sa vyhla akejkoľvek detekcii benchmarkov a umožnila tak Geekbench bežať ako normálne aplikácia na telefónoch, ktoré podvádzajú (nad rámec premenovania balíka, ktorý oklame väčšinu pokusov o benchmark podvádzanie).


Prekvapivý príklad

Ihneď po otvorení aplikácie bol rozdiel jasný. OnePlus 3T bežal na voľnobeh na 0,31 GHz, ako je to vo väčšine aplikácií, a nie na 1,29 GHz pre veľké jadrá a 0,98 GHz pre malé jadrá, ako je to v bežnej aplikácii Geekbench. OnePlus urobil z neho agresívnejší regulátor CPU, čo viedlo k praktickej umelej spodnej hranici rýchlosti hodín v Geekbench, ktorá v skrytej zostave Geekbench nebola. Nebolo to založené na záťaži CPU, ale skôr na názve balíka aplikácie, ktorý by skrytá zostava mohla oklamať. Zatiaľ čo rozdiel v jednotlivých jazdách bol minimálny, v našom teste trvalého výkonu, ktorý je znázornený nižšie, žiaria uvoľnenia tepelného škrtenia.

Z nášho testovania sa zdá, že je to „funkcia“ operačného systému Hydrogen už nejaký čas a nebola pridaná do OS Oxygen, kým sa komunita nevytvorí pred vydaním Nougat (po vydaní boli zlúčené dve ROM). Je to trochu sklamaním, najmä vo svetle softvérových problémov, ktoré OnePlus mal tento mesiac po zlúčení ROM, od zraniteľnosti zavádzača do Problémy s dodržiavaním GPL. Dúfame, že keď sa prach po zlúčení dvoch tímov usadí, OnePlus sa vráti do formy a bude sa naďalej stavať ako možnosť vhodná pre vývojárov.

S “Mini golf” verziu Geekbench v ruke, vyšli sme von a začali testovať aj iné telefóny na benchmarkové podvádzanie. Našťastie naše testovanie nepreukázalo žiadne podvádzanie zo strany spoločností, ktoré boli zapojené do škandálu pred pol desiatimi rokmi. Zdá sa, že HTC, Xiaomi, Huawei, Honor, Google, Sony a ďalší majú konzistentné skóre medzi bežnou zostavou Geekbench a “Mini golf” stavať na našich testovacích zariadeniach.

Bohužiaľ sme našli možné dôkazy o podvádzaní benchmarkov, ktoré sa nám zatiaľ nepodarilo potvrdiť od niekoľkých ďalších spoločností, ktoré budeme ďalej skúmať. Úplne najhorším príkladom toho bol Meizu Pro 6 Plus poháňaný Exynos 8890, ktorý posunul podvádzanie benchmarkov do iného extrému.


Hrozný príklad

Meizu historicky nastavilo škálovanie CPU extrémne konzervatívne. Predovšetkým často nastavujú svoje telefóny tak, že veľké jadrá sú len zriedkavo online, dokonca aj keď sú vo svojom „výkonnom režime“, vďaka čomu sú vlajkové procesory (ako napr. Exynos 8890), ktoré vkladajú do svojich vlajkových telefónov, fungujú ako procesory strednej triedy. Vyvrcholilo to minulý rok, keď Anandtech vyzval Meizu pre ich slabý výkon v testoch JavaScript Anandtech na Meizu Pro 6 založenom na Mediatek Helio X25 a poznamenal, že veľké jadrá zostali offline väčšinu testu (keď mal test prebiehať takmer výlučne na veľkých jadrá). Anandtech si minulý týždeň všimol, že aktualizácia softvéru bola presunutá do Meizu Pro 6, ktorá konečne umožnila Meizu využívať tieto jadrá naplno. Starší redaktor smartfónov spoločnosti Anandtech, Matt Humrick, poznamenal že „Po aktualizácii na Flyme OS 5.2.5.0G funguje PRO 6 podstatne lepšie. Skóre Kraken, WebXPRT 2015 a JetStream sa zlepšujú približne 2x až 2,5x. Meizu zrejme upravilo hodnotu prahu zaťaženia, čo umožnilo vláknam migrovať na jadrá A72 častejšie pre lepší výkon."

Bohužiaľ sa zdá, že namiesto zlepšenia škálovania CPU pre svoje nové zariadenia získajú lepšie benchmark skóre, zdá sa, že nastavili telefón tak, aby sa prepol na používanie veľkých jadier, keď sú určité aplikácie beh.

Po otvorení aplikácie benchmarking náš Meizu Pro 6 Plus odporúča, aby ste prepli do „režimu výkonu“ (ktorý jediný stačí na potvrdenie, že hľadajú konkrétne názvy balíkov) a zdá sa, že je to podstatný rozdiel. V štandardnom „režime vyváženia“ má telefón konzistentne skóre okolo 604 a 2220 v jednojadrových a viacjadrových sekciách Geekbench, ale v „Performance Mode“ má skóre 1473 a 3906, a to najmä vďaka veľkým jadrám, ktoré zostávajú vypnuté po väčšinu testu v „Balance Mode“ a zapínajú sa v „Režim výkonu“. Zdá sa, že Meizu uzamkne malé jadrá na ich maximálnu rýchlosť 1,48 GHz a nastaví pevnú spodnú hranicu pre dve z ich veľkých jadier na 1,46 GHz pri behu. Geekbench v režime „Performance Mode“ (s ďalšími dvoma veľkými jadrami sa môže voľne škálovať a celkom agresívne), čo nevidíme, keď beh “Mini golf” stavať.

Aj keď možnosť vybrať si medzi režimom vysokého výkonu a režimom nízkej spotreby môže byť príjemnou vlastnosťou, v tomto prípade sa zdá, že nejde o nič iné ako o trik v salóne. Meizu Pro 6 Plus má slušné skóre v „režime výkonu“ pre bežnú aplikáciu Geekbench, ale pri použití “Mini golf” zostava Geekbench, klesá rovno späť na rovnakú úroveň výkonu, ako keď je nastavená na „Balance Mode“. Stav vyššieho výkonu na Meizu Pro 6 Plus je len na porovnávanie, nie na skutočné každodenné používanie.

Jedna vec je, že keď sme testovali Meizu Pro 6 Plus v „režime výkonu“ s tajomstvom pri zostavovaní Geekbench, veľké jadrá boli online, ak sme zaznamenávali rýchlosť hodín pomocou Qualcommu Trepn. Zatiaľ sme nezistili, či Meizu rozpozná, že Trepn beží a zapína veľké jadrá v čiastočne kvôli tomu, alebo ak jednoducho zapína veľké jadrá kvôli extra zaťaženiu CPU, ktoré to robí vytvára. Aj keď to môže znieť neintuitívne, že dodatočné zaťaženie na pozadí (napríklad keď sme počas testu nechali zapnuté grafy výkonu) by zvýšiť Podľa výsledkov benchmarku by konzervatívne škálovanie Meizu mohlo znamenať, že réžia navyše bola dosť na to, aby to prehnalo hranice a privolalo do činnosti veľké jadrá, čím sa zlepší výkon pre všetkých úlohy.


Keď vnímaví výrobcovia OEM reagujú na spätnú väzbu...

Po našom testovaní sme sa obrátili na OnePlus o problémoch, ktoré sme našli. V odozve, OnePlus rýchlo prisľúbil, že prestane cieliť na porovnávacie aplikácie s ich podvádzaním, ale stále má v úmysle ponechať to pre hry (ktoré sa tiež porovnávajú). V budúcej zostave OxygenOS nebude tento mechanizmus spúšťaný benchmarkmi. OnePlus prijal náš návrh pridať aj prepínač, aby používatelia vedeli, čo sa deje pod kapotou a prinajmenšom nespravodlivá a zavádzajúca výhoda v benchmarkoch by mala byť opravené. Vzhľadom na sviatky čínskeho Nového roka a ich nevybavené funkcie však môže chvíľu trvať, kým uvidíme možnosti prispôsobenia tejto výkonnostnej funkcie používateľom. Aj keď samotná náprava správania je zlepšením, je stále trochu sklamaním vidieť v pravidelných intervaloch aplikácie (napríklad hry), pretože je to barlička na zacielenie na konkrétne aplikácie namiesto zlepšovania skutočného výkonu škálovanie. Umelým zvyšovaním agresivity procesora a tým aj rýchlosti hodín pre konkrétne aplikácie namiesto zlepšovania schopnosti ich telefónov rozpoznať, kedy skutočne potrebujú vyššiu rýchlosti hodín, OnePlus vytvára pre svoje telefóny nekonzistentný výkon, čo sa prejaví až po starnutí telefónu a pribúdajú hry, na ktoré sa OnePlus nezameral. prepustený. Implementácia však v súčasnosti umožňuje lepší výkon hier. OnePlus tiež poskytol vyhlásenie k tomuto článku, ktoré si môžete prečítať nižšie:

 „S cieľom poskytnúť používateľom lepšiu používateľskú skúsenosť v aplikáciách a hrách náročných na zdroje, najmä graficky náročných V komunite sme implementovali určité mechanizmy a zostavy Nougat, ktoré spúšťajú procesor, aby bežal viac agresívne. Spúšťací proces pre benchmarking aplikácií nebude prítomný v nadchádzajúcich zostavách OxygenOS na OnePlus 3 a OnePlus 3T.

Sme radi, že OnePlus odstráni podvádzanie benchmarkov zo svojich telefónov. V budúcnosti sa budeme aj naďalej snažiť tlačiť na výrobcov OEM, aby boli spotrebiteľsky ústretovejší, kedykoľvek to bude možné, a budeme dávať pozor na budúce podvádzanie pri porovnávaní.

Bohužiaľ, jedinou skutočnou odpoveďou na tento typ podvodu je neustála ostražitosť. Ako komunita nadšencov smartfónov si musíme dať pozor na pokusy o oklamanie používateľov, ako je tento. Nás nezaujíma samotné skóre benchmarkov, ale to, čo hovoria benchmarky o výkone telefónu. Zatiaľ čo podvádzanie benchmarkov ešte nebolo aktívne na OnePlus 3 keď sme ho preskúmali, na pridanie tejto zavádzajúcej „funkcie“ stačila jednoduchá aktualizácia softvéru a jasne ukazuje, že kontrola zariadení z hľadiska podvádzania benchmarku pri prvom spustení nie je dosť. Problémy, ako je tento, môžu byť pridané dni, týždne, mesiace alebo dokonca roky po spustení zariadenia umelo nafukovanie globálnych priemerov zhromaždených podľa referenčných hodnôt po mesiacoch, čo ovplyvňuje konečnú databázu výsledok. Treba si uvedomiť, že aj pri týchto vychytávkach, do ktorých museli výrobcovia investovať čas a peniaze, zvyčajne sme svedkami nárastu benchmarkových skóre len o niekoľko percentuálnych bodov (okrem niekoľkých okrajových prípadov, ako je Meizu, kde podvádzanie zakrýva oveľa väčšie problémy). Niekoľko percentuálnych bodov, čo je oveľa menšie ako rozdiel medzi zariadeniami s najlepším a najhorším výkonom. Tvrdíme však, že pri zariadeniach s čoraz podobnejším hardvérom môžu byť tieto extra percentuálne body rozhodujúcim faktorom v rebríčkoch, ktoré používatelia nakoniec hľadajú. Lepšia optimalizácia ovládačov a inteligentnejšie škálovanie CPU môže mať absolútne masívny vplyv na výkon zariadenia, pričom je rozdiel medzi nimi skóre najvýkonnejšieho zariadenia založeného na Qualcomm Snapdragon 820 a najhoršieho zariadenia (od hlavného OEM) presahujúce 20 % na Geekbench. Dvadsať percent z optimalizácie ovládačov namiesto pár percent z vynaloženia času a peňazí na oklamanie vašich používateľov. A to hovoríme len o snahách o vývoj, ktoré môžu ovplyvniť skóre benchmarkov. Mnohé z najväčších výhod investovania do zlepšovania softvéru zariadenia nezobrazujú sa vždy v benchmarkoch, pričom OnePlus ponúka vo svojich zariadeniach vynikajúci výkon v reálnom svete. Naozaj by malo byť jasné, kam by sa v tomto prípade malo zamerať rozvojové úsilie spoločnosti. Oslovujeme viac spoločností, ktoré podvádzajú pri porovnávaní, keď ich nájdeme, a dúfame, že sú rovnako vnímavé ako OnePlus.


Chceli by sme sa ešte raz poďakovať tímu v Primate Labs za spoluprácu na odhalení tohto problému. Bolo by podstatne ťažšie riadne otestovať Benchmark Cheating bez edície „Mini Golf“ Geekbench.