Benchmark podvádění vrací úder: Jak byli OnePlus a další přistiženi při činu a co s tím udělali

click fraud protection

OnePlus a Meizu byly přistiženy při podvádění v benchmarcích. XDA vyšetřuje, jak se to stalo a co lze udělat, aby se to neopakovalo.

Před několika lety došlo ke značnému pozdvižení, když bylo mnoho velkých výrobců přistiženo při podvádění při srovnávacích testech. OEM všech velikostí (včetně Samsung, HTC, Sony, a LG) se zúčastnily tohoto závodu ve zbrojení ve snaze oklamat uživatele, aniž by byli přistiženi, ale naštěstí nakonec po několika upřímných diskusích s podváděním s benchmarkem přestali odborníci z oboru a novináři.

V roce 2013 tomu tak bylo objevil že Samsung uměle zvyšoval takt GPU v určitých aplikacích, což vyvolalo sérii vyšetřování do benchmarkového podvádění napříč celou řadou výrobců. V té době šetření zjistilo, že téměř každý výrobce kromě Googlu/Motoroly se zapojoval do podvádění srovnávacích testů. Všichni investovali čas a peníze do pokusů získat trochu extra výkon ze svých telefonů v benchmarcích způsobem, který by nemělo žádný pozitivní vliv na každodenní používání, ve snaze oklamat uživatele, aby si mysleli, že jejich telefony jsou rychlejší než ve skutečnosti byli. Tyto vývojové snahy se týkaly celé škály, od nastavení spodních hodnot rychlosti hodin, přes vynucení rychlosti hodin na jejich maximální nastavení, až po vytvoření speciálních vyšších stavy napájení a speciální rychlosti hodin, které byly k dispozici pouze při srovnávání, přičemž tyto snahy často vedly ke zvýšení pouze o několik procentních bodů benchmark.

Když to bylo objeveno, došlo k značnému pobouření, protože tyto pokusy o podvádění s benchmarky byly v rozporu se samotným bodem samotných benchmarků. Většina benchmarků není k dispozici, aby vám řekla teoretický maximální výkon telefonu v laboratorních podmínkách, které tomu tak nejsou reprodukovatelné při každodenním používání, ale spíše jsou zde proto, aby vám poskytly referenční bod pro srovnání v reálném světě mezi telefony. Po krátkém veřejném nadávkách (a několika soukromých rozhovorech) od technologických publikací, lídrů v oboru a široká veřejnost dostala většina výrobců zprávu, že podvádění srovnávacích testů je prostě nepřijatelné, a přestali jako a výsledek. Většina z mála, která se v tomto bodě nezastavila, skončila brzy poté, protože došlo k podstatným změnám na to, kolik benchmarků běží, ve snaze odradit od podvádění benchmarků (snížením přínosu z to). Mnoho benchmarků bylo provedeno delších, aby se tepelné škrcení způsobené maximalizací rychlosti hodin okamžitě projevilo.

Když jsme rozhovor John Poole, tvůrce Geekbench, téma podvádění při benchmarku a to, co mohou společnosti jako Primate Labs udělat, aby tomu zabránily. Zejména Primate Labs udělali Geekbench 4 o něco delší než Geekbench 3, částečně proto, aby snížili účinky podvádění srovnávacích testů. Snížení přínosů s cílem zajistit, že voj náklady na benchmark podvádění nestojí za to.

„Problém je v tom, že jakmile budeme mít tyto velké doby běhu, začnete hrát hry tím, že zvýšíte čas rychlosti nebo deaktivace regulátorů nebo něčeho podobného, ​​začnete do toho dávat skutečné skutečné nebezpečí telefon... Pokud to budete hrát... tolik z toho nedostaneš. Stále můžete získat pár procent, ale opravdu to stojí za to?" - John Poole


Co se stalo

Bohužel musíme oznámit, že někteří OEM začali znovu podvádět, což znamená, že bychom se měli mít ještě jednou na pozoru. Naštěstí výrobci stále více reagují na problémy, jako je tento, a pokud je tomu věnována správná pozornost, lze to rychle opravit. Je trochu šokující vidět, jak výrobci zavádějí benchmarkové podvádění ve světle toho, jak špatná byla reakce naposledy to byl pokus (s některými benchmarky zcela vylučujícími podvádění zařízení z jejich výkonu seznamy). S tímto odporem, který je v kontrastu s tím, jak malé jsou obvykle výkonnostní zisky z benchmarkového podvádění (s většinou z pokusů, které vedly ke zvýšení skóre o méně než 5 % naposledy), opravdu jsme doufali, že to vše bude pozadu nás.

Načasování tohoto pokusu je obzvláště nevhodné, protože před několika měsíci benchmarkové podvádění opustilo svět čistě nadšený koncern a vstoupil do veřejné sféry, když byly Volkswagen a Fiat Chrysler přistiženy při podvádění se svými emisemi benchmarky. Obě společnosti implementovaly software, který zjišťoval, kdy jejich dieselová auta procházejí testováním emisí, a nechala je přepnout do režimu s nízkými emisemi které zaznamenaly pokles spotřeby paliva ve snaze konkurovat benzinovým vozům v palivové účinnosti a přitom zůstat v rámci regulačních limitů pro emise testy. Skandál zatím vedl k miliardovým pokutám, desítkám miliard nákladů na stažení a ukládání poplatků – rozhodně to není takový druh odplaty. Výrobci OEM by někdy viděli nafukování svých srovnávacích skóre, která jsou čistě pro porovnání uživatelů a nepoužívají se k měření žádných regulačních požadavky.

Zatímco zkoumá, jak Qualcomm dosahuje rychlejších rychlostí otevírání aplikací na tehdy novém Qualcomm Snapdragon 821 jsme si všimli něčeho zvláštního OnePlus 3T které jsme nemohli reprodukovat na Xiaomi Mi Note 2 nebo Google Pixel XL, mimo jiné zařízení Snapdragon 821. Náš šéfredaktor Mario Serrafero používal Qualcomm Trepn a Snapdragon Performance Visualizer ke sledování toho, jak Qualcomm „posilňuje“ CPU. rychlost hodin při otevírání aplikací a všimli jsme si, že některé aplikace na OnePlus 3T neklesají zpět na své normální volnoběhové rychlosti po otevírací. Obecným pravidlem je, že se vyhýbáme testování benchmarků s nástroji pro sledování výkonu, které jsou otevřené, kdykoli je to možné, kvůli dodatečné režii výkonu, kterou přinášejí. (zejména v zařízeních jiných než Snapdragon, kde neexistují žádné oficiální nástroje pro stolní počítače), ale v tomto incidentu nám pomohly zaznamenat nějaké podivné chování, které bychom pravděpodobně přehlédli v opačném případě.

Při vstupu do určitých srovnávacích aplikací by jádra OnePlus 3T zůstala nad 0,98 GHz pro malá jádra a 1,29 GHz pro velká jádra, i když zatížení procesoru kleslo na 0 %. To je docela zvláštní, protože normálně obě sady jader klesnou na 0,31 GHz na OnePlus 3T, když není zátěž. Když jsme to poprvé viděli, měli jsme obavy, že škálování CPU OnePlus bylo prostě nastaveno trochu divně, po dalším testování jsme však došli k závěru, že OnePlus musí být cílené specifické aplikací. Naší hypotézou bylo, že OnePlus cílil na tyto benchmarky podle názvu a vstupoval do alternativního režimu škálování CPU, aby načerpal své benchmarkové skóre. Jednou z našich hlavních obav bylo, že OnePlus možná v tomto režimu nastavil volnější tepelná omezení, aby se vyhnul problémům, které měli s OnePlus. One, OnePlus X a OnePlus 2, kde telefony špatně zvládaly další jádra přicházející online pro vícejádrovou sekci Geekbench a v důsledku toho občas podstatně snižuje plyn (až do bodu, kdy OnePlus X někdy skóroval nižší ve vícejádrové sekci než v jediné základní část). U nás najdete těžké škrcení Recenze OnePlus 2, kde jsme zjistili, že zařízení může shodit až 50 % svého vícejádrového skóre Geekbench 3. Později, když jsme začali porovnávat škrcení a teplotu mezi zařízeními, OnePlus 2 se stal učebnicovým příkladem toho, čemu by se OEM měli vyhnout.

Oslovili jsme tým v Primate Labs (tvůrci Geekbench), kteří se zasloužili o odhalení první vlny benchmarkového podvádění a spojili se s nimi pro další testování. Přivezli jsme OnePlus 3T do kanceláře Primate Labs v Torontu k počáteční analýze. Počáteční testování zahrnovalo výpis ROM, který zjistil, že OnePlus 3T přímo hledal několik aplikací podle názvu. Nejpozoruhodnější je, že OnePlus 3T hledal Geekbench, AnTuTu, Androbench, Quadrant, Vellamo a GFXBench. Vzhledem k tomu, že v tomto okamžiku jsme měli poměrně jasný důkaz, že OnePlus se zapojuje do podvádění srovnávacích testů, společnost Primate Labs vytvořila “Bobův minigolfový putt” verze Geekbench 4 pro nás. Díky podstatné změny mezi Geekbench 3 a 4, "Minigolf" verze musela být od základů přestavěna speciálně pro toto testování. Tato verze Geekbench 4 je navržena tak, aby se vyhnula jakékoli detekci benchmarku, aby Geekbench běžel jako normální aplikace na telefonech, které podvádějí (nad rámec přejmenování balíčků, které oklame většinu pokusů o benchmark podvádění).


Překvapivý příklad

Ihned po otevření aplikace byl rozdíl jasný. OnePlus 3T běžel na volnoběh na 0,31 GHz, jak je tomu ve většině aplikací, spíše než na 1,29 GHz pro velká jádra a 0,98 GHz pro malá jádra, jako je tomu v běžné aplikaci Geekbench. OnePlus dělal jeho regulátor CPU agresivnějším, což vedlo k praktickému umělému minimu taktu v Geekbench, který ve skrytém sestavení Geekbench nebyl. Nebylo to založeno na zátěži CPU, ale spíše na názvu balíčku aplikace, který by skrytá sestava mohla oklamat. Zatímco rozdíl v jednotlivých jízdách byl minimální, v našem testu trvalého výkonu, který je znázorněn níže, se projevily relaxace tepelného škrcení.

Z našeho testování se zdá, že to byla „funkce“ Hydrogen OS již nějakou dobu a nebyla přidána do Oxygen OS, dokud se komunita nevybuduje před vydáním Nougat (po vydání byly sloučeny dvě ROM). Je to trochu zklamání, zejména ve světle softwarových problémů, které OnePlus měl tento měsíc po sloučení ROM, od zranitelnosti bootloaderu na Problémy s dodržováním GPL. Doufáme, že jakmile se po sloučení obou týmů usadí prach, OnePlus se vrátí do formy a budou se nadále chovat jako možnost přátelská pro vývojáře.

s "Minigolf" verze Geekbench v ruce, šli jsme ven a začali testovat další telefony pro benchmarkové podvádění. Naštěstí naše testování neprokázalo žádné podvádění společností, které byly před půl dekádou do skandálu zapojeny. Zdá se, že HTC, Xiaomi, Huawei, Honor, Google, Sony a další mají konzistentní skóre mezi běžným sestavením Geekbench a "Minigolf" stavět na našich testovacích zařízeních.

Bohužel jsme našli možné důkazy o podvádění srovnávacích testů, které se nám zatím nepodařilo potvrdit od několika dalších společností, které budeme dále zkoumat. Nejhorším příkladem toho byl Meizu Pro 6 Plus poháněný Exynos 8890, který posunul podvádění benchmarků do jiného extrému.


Hrozný příklad

Meizu historicky nastavilo škálování CPU extrémně konzervativně. Je pozoruhodné, že své telefony často nastavují tak, že velká jádra se zřídkakdy dostanou do režimu online, i když jsou ve svém „výkonovém režimu“, takže vlajkové procesory (jako vynikající Exynos 8890), které vkládají do svých vlajkových telefonů, fungují jako procesory střední třídy. Vyvrcholilo to loni, kdy Anandtech označili Meizu za špatný výkon v testech JavaScript Anandtech na Meizu Pro 6 založeném na Mediatek Helio X25 a poznamenal, že velká jádra zůstala offline po většinu testu (kdy měl test běžet téměř výhradně na velkých jádra). Anandtech si minulý týden všiml, že do Meizu Pro 6 byla vytlačena softwarová aktualizace, která konečně umožnila Meizu využít tato jádra naplno. Senior editor pro chytré telefony Anandtech, Matt Humrick, poznamenal že "Po aktualizaci na Flyme OS 5.2.5.0G funguje PRO 6 podstatně lépe. Skóre Kraken, WebXPRT 2015 a JetStream se zlepšily asi 2x-2,5x. Meizu zjevně upravilo hodnotu prahu zatížení a umožnilo vláknům migrovat na jádra A72 častěji pro lepší výkon."

Bohužel se zdá, že spíše než zlepšení škálování CPU pro jejich nová zařízení získat lepší srovnávací skóre, zdá se, že nastavili telefon tak, aby přešel na používání velkých jader, když jsou určité aplikace běh.

Po otevření srovnávací aplikace náš Meizu Pro 6 Plus doporučuje přepnout do „režimu výkonu“ (který jediný stačí k potvrzení, že hledají konkrétní názvy balíčků) a zdá se, že je to podstatný rozdíl. Ve standardním „Balance Mode“ má telefon konzistentně skóre kolem 604 a 2220 v jednojádrových a vícejádrových částech Geekbench, ale v „Performance Mode“ má skóre 1473 a 3906, a to především díky velkým jádrům, která zůstávají vypnutá po většinu testu v „Balance Mode“ a zapínají se v „Režim výkonu“. Zdá se, že Meizu uzamkne malá jádra na jejich maximální rychlost 1,48 GHz a nastaví tvrdou spodní hranici pro dvě z jejich velkých jader na 1,46 GHz při běhu Geekbench v „Performance Mode“ (se zbývajícími dvěma velkými jádry se mohou volně škálovat a docela agresivně), což nevidíme, když běžící "Minigolf" stavět.

I když možnost volby mezi režimem vysokého výkonu a režimem nízké spotřeby může být příjemnou funkcí, v tomto případě se zdá, že nejde o nic jiného než o trik v salonu. Meizu Pro 6 Plus zaznamenává slušné skóre v „režimu výkonu“ pro běžnou aplikaci Geekbench, ale při použití "Minigolf" sestavení Geekbench, klesá zpět na stejnou úroveň výkonu, jako když je nastaven na „Balance Mode“. Stav vyššího výkonu na Meizu Pro 6 Plus je pouze pro srovnávání, nikoli pro skutečné každodenní použití.

Jedna věc je, že když jsme testovali Meizu Pro 6 Plus v „režimu výkonu“ s tajemstvím Sestavení Geekbench, velká jádra přišla online, pokud jsme zaznamenávali takt s Qualcommem Trepn. Zatím jsme nezjistili, zda Meizu rozpoznává, že Trepn běží a zapíná velká jádra v částečně kvůli tomu, nebo jestli to prostě zapíná velká jádra kvůli extra zátěži CPU, kterou to dělá vytváří. I když to může znít neintuitivně, že dodatečné zatížení na pozadí (například když jsme během testu nechali zapnuté grafy výkonu) by zvýšit Podle výsledků benchmarku by konzervativní škálování Meizu mohlo znamenat, že další režie byla dost na to, aby to posunulo přes okraj a přivolalo k akci velká jádra, čímž se zlepší výkon pro všechny úkoly.


Když vnímaví výrobci OEM reagují na zpětnou vazbu...

Po našem testování jsme se obrátili na OnePlus ohledně problémů, které jsme našli. V odpověď, OnePlus rychle slíbil, že přestane cílit na benchmarkingové aplikace s jejich podváděním s benchmarkem, ale stále ho má v úmyslu ponechat pro hry (které se také porovnávají). V budoucím sestavení OxygenOS nebude tento mechanismus spouštěn benchmarky. OnePlus přijal náš návrh přidat také přepínač, aby uživatelé věděli, co se děje pod kapotou, a přinejmenším nespravedlivá a zavádějící výhoda v benchmarcích by měla být opraveno. Vzhledem k svátku čínského Nového roku a jejich nevyřízeným funkcím však může chvíli trvat, než uvidíme možnosti přizpůsobení této výkonové funkce pro uživatele. I když samotná náprava chování je zlepšením, je stále trochu zklamáním vidět v pravidelném aplikací (jako jsou hry), protože jde o berličku cílení na konkrétní aplikace namísto zlepšování skutečného výkonu škálování. Umělým zvýšením agresivity procesoru a tím i rychlosti hodin pro konkrétní aplikace namísto zlepšení schopnosti jejich telefonů rozpoznat, kdy skutečně potřebují vyšší takty, OnePlus vytváří pro své telefony nekonzistentní výkon, což se projeví až s tím, jak telefon stárne, a přibývá her, na které OnePlus necílí. propuštěn. Implementace však v současné době umožňuje lepší výkon her. OnePlus také poskytlo prohlášení k tomuto článku, které si můžete přečíst níže:

 „Abychom uživatelům poskytli lepší uživatelský zážitek v aplikacích a hrách náročných na zdroje, zejména graficky náročných Zavedli jsme určité mechanismy v komunitě a sestavení Nougat, abychom spustili procesor, aby běžel více agresivně. Spouštěcí proces pro benchmarking aplikací nebude přítomen v nadcházejících verzích OxygenOS na OnePlus 3 a OnePlus 3T.

S potěšením slyšíme, že OnePlus odstraní podvádění benchmarků ze svých telefonů. Do budoucna se budeme i nadále snažit vyvíjet tlak na výrobce OEM, aby byli vstřícnější vůči spotřebitelům, kdykoli to bude možné, a budeme dávat pozor na budoucí podvádění srovnávacích testů.

Bohužel jedinou skutečnou odpovědí na tento typ podvodu je neustálá ostražitost. Jako komunita nadšenců pro chytré telefony musíme dávat pozor na pokusy o klamání uživatelů, jako je tento. Nás nezajímá samotné skóre benchmarků, ale spíše to, co benchmarky říkají o výkonu telefonu. Zatímco podvádění benchmarků ještě nebylo aktivní na OnePlus 3 když jsme to zkontrolovali, stačila jednoduchá aktualizace softwaru k přidání této zavádějící „funkce“ a jasně ukazuje, že kontrola zařízení z hlediska podvádění srovnávacích testů při prvním spuštění není dost. Problémy, jako je tento, mohou být uměle přidány dny, týdny, měsíce nebo dokonce roky po spuštění zařízení nafukování globálních průměrů shromážděných srovnávacími indexy po měsících, což ovlivňuje konečnou databázi výsledek. Nutno podotknout, že i přes tyto vychytávky, do jejichž vývoje museli výrobci investovat čas a peníze, obvykle zaznamenáváme pouze několik procentních bodů zvýšení srovnávacích skóre (s výjimkou několika okrajových případů, jako je Meizu, kde podvádění zakrývá mnohem větší problémy). Několik procentních bodů, což je mnohem menší rozdíl než rozdíl mezi zařízeními s nejlepším a nejhorším výkonem. Argumentovali bychom však tím, že se zařízeními se stále podobným hardwarem mohou být tyto extra procentní body rozhodujícím faktorem v žebříčcích, které uživatelé nakonec vyhledávají. Lepší optimalizace ovladačů a chytřejší škálování CPU mohou mít naprosto masivní vliv na výkon zařízení, s rozdílem mezi skóre nejvýkonnějšího zařízení založeného na Qualcomm Snapdragon 820 a nejvýkonnějšího zařízení (od hlavního OEM) přesahující 20 % na Geekbench. Dvacet procent z optimalizace ovladačů, spíše než pár procent z vynaložení času a peněz na oklamání uživatelů. A to je jen řeč o úsilí o vývoj, které může ovlivnit skóre benchmarků. Mnoho z největších výhod investování do vylepšení softwaru zařízení ne vždy se zobrazují na benchmarkech, přičemž OnePlus nabízí ve svých zařízeních vynikající výkon v reálném světě. Opravdu by mělo být jasné, kam by se v tomto případě mělo zaměřit úsilí společnosti o rozvoj. Oslovujeme další společnosti, které podvádějí srovnávací testy, jakmile je najdeme, a doufáme, že jsou stejně vnímavé jako OnePlus.


Rádi bychom ještě jednou poděkovali týmu v Primate Labs za spolupráci na odhalení tohoto problému. Bylo by podstatně obtížnější řádně otestovat Benchmark Cheating bez vydání „Mini Golf“ Geekbench.