Il cheating di benchmark colpisce ancora: come OnePlus e altri sono stati colti in flagrante e cosa hanno fatto al riguardo

OnePlus e Meizu sono stati sorpresi a barare sui benchmark. XDA indaga su come è successo e cosa si può fare per evitare che accada di nuovo.

Qualche anno fa ci fu un notevole scalpore, quando numerosi grandi produttori furono sorpresi a imbrogliare i benchmark. OEM di tutte le dimensioni (compresi SAMSUNG, HTC, Sony, e LG) hanno preso parte a questa corsa agli armamenti nel tentativo di ingannare gli utenti senza essere scoperti, ma per fortuna alla fine hanno fermato il loro imbroglio nei benchmark dopo alcune franche discussioni con esperti del settore e giornalisti.

Nel 2013 lo era scoperto che il Samsung stava aumentando artificialmente la velocità di clock della sua GPU in alcune applicazioni, innescando una serie di indagini in imbrogli di riferimento per l'intera gamma di produttori. All'epoca, l'indagine aveva scoperto che quasi tutti i produttori, ad eccezione di Google/Motorola, erano coinvolti in truffe nei benchmark. Stavano tutti investendo tempo e denaro nel tentativo di ottenere prestazioni extra dai loro telefoni nei benchmark, in modi che non avrebbe alcun effetto positivo sull'uso quotidiano, nel tentativo di ingannare gli utenti facendogli credere che i loro telefoni siano più veloci di quanto non siano in realtà erano. Questi sforzi di sviluppo hanno riguardato l'intera gamma, dall'impostazione dei limiti di velocità dell'orologio, al forzare le velocità dell'orologio alle impostazioni massime, fino alla creazione di speciali livelli più elevati stati di potenza e velocità di clock speciali che erano disponibili solo durante il benchmarking, con questi sforzi che spesso si traducevano in aumenti di solo un paio di punti percentuali segno di riferimento.

Ci fu una notevole indignazione quando fu scoperto, poiché questi tentativi di imbrogliare i benchmark andavano contro lo scopo stesso dei benchmark stessi. La maggior parte dei benchmark non sono lì per dirti le prestazioni massime teoriche di un telefono in condizioni di laboratorio che non lo sono riproducibili nell'uso quotidiano, ma piuttosto sono lì per darti un punto di riferimento per confronti nel mondo reale tra telefoni. Dopo un po' di rimproveri pubblici (e alcune conversazioni private) da parte di pubblicazioni tecnologiche, leader del settore e altri pubblico in generale, la maggior parte dei produttori ha ricevuto il messaggio che l'imbroglio dei benchmark era semplicemente inaccettabile e si è fermato di colpo risultato. La maggior parte dei pochi che non si fermarono a quel punto si fermarono subito dopo, poiché furono apportate modifiche sostanziali a quanti benchmark vengono eseguiti, nel tentativo di scoraggiare l'imbroglio dei benchmark (riducendo il vantaggio da Esso). Molti benchmark sono stati allungati in modo che il throttling termico derivante dalla massimizzazione della velocità di clock diventasse immediatamente evidente.

Quando noi intervistato John Poole, il creatore di Geekbench, il tema degli imbrogli nei benchmark e cosa possono fare aziende come Primate Labs per evitarlo. Primate Labs in particolare ha reso Geekbench 4 un po' più lungo di Geekbench 3, in parte per ridurre gli effetti degli imbrogli nei benchmark. Ridurre i benefici per garantire lo sviluppo i costi per imbrogliare i benchmark non valgono la pena.

"Il problema è che una volta ottenuti questi tempi di autonomia elevati, si inizia a giocare aumentando il proprio clock velocità o disabilitando i regolatori o qualcosa del genere, inizierai a mettere un vero pericolo reale nel telefono... Se hai intenzione di giocarci... non ne otterrai molto. Potresti ancora ottenere un paio di punti percentuali, ma ne vale davvero la pena?" - John Poole


Quello che è successo

Sfortunatamente, dobbiamo segnalare che alcuni OEM hanno ricominciato a imbrogliare, il che significa che dovremmo stare di nuovo all'erta. Per fortuna, i produttori sono diventati sempre più reattivi a problemi come questo e, con la giusta attenzione, è possibile risolverli rapidamente. È un po’ scioccante vedere i produttori implementare imbrogli nei benchmark alla luce di quanto sia stata grave la reazione negativa l'ultima volta che è stato tentato (con alcuni benchmark che escludono completamente i dispositivi cheat dalle loro prestazioni elenchi). Con questo contraccolpo in contrasto con quanto piccoli siano in genere i guadagni in termini di prestazioni derivanti dagli imbrogli dei benchmark (con la maggior parte dei tentativi con un aumento del punteggio inferiore al 5% l'ultima volta), speravamo davvero che tutto questo finisse noi.

Il tempismo di questo tentativo è particolarmente inopportuno, poiché un paio di mesi fa l'imbroglio dei benchmark ha lasciato il mondo di essere puramente un preoccupazione degli entusiasti, ed è entrato nella sfera pubblica quando Volkswagen e Fiat Chrysler sono state entrambe sorprese a imbrogliare sulle loro emissioni punti di riferimenti. Entrambe le società hanno implementato un software per rilevare quando le loro auto diesel venivano sottoposte a test sulle emissioni e le hanno fatte passare alla modalità a basse emissioni che ha visto diminuire il risparmio di carburante, nel tentativo di competere con le auto a benzina in termini di efficienza del carburante pur rimanendo entro i limiti normativi per le emissioni test. Finora lo scandalo ha comportato miliardi di multe, decine di miliardi di costi di richiamo e accuse - certamente non il tipo di punizione Gli OEM non vedrebbero mai l'aumento dei loro punteggi di riferimento, che sono puramente per il confronto tra gli utenti e non vengono utilizzati per misurare eventuali normative requisiti.

Mentre indagando su come Qualcomm raggiunge velocità di apertura delle app più elevate sull'allora nuovo Qualcomm Snapdragon 821, abbiamo notato qualcosa di strano sul OnePlus 3T che non siamo riusciti a riprodurre sul Xiaomi Mi Nota2 o il Google Pixel XL, tra gli altri dispositivi Snapdragon 821. Il nostro caporedattore, Mario Serrafero, utilizzava Qualcomm Trepn e Snapdragon Performance Visualizer per monitorare come Qualcomm "potenzia" la CPU velocità dell'orologio all'apertura delle app e ho notato che alcune app su OnePlus 3T non tornavano alla normale velocità di inattività dopo apertura. Come regola generale, evitiamo di testare i benchmark con strumenti di monitoraggio delle prestazioni aperti quando possibile a causa del sovraccarico aggiuntivo delle prestazioni che comportano (in particolare nei dispositivi non Snapdragon dove non esistono strumenti desktop ufficiali), tuttavia in questo incidente ci hanno aiutato a notare alcuni comportamenti strani che probabilmente non ci saremmo accorti Altrimenti.

Quando si accede ad alcune app di benchmarking, i core del OnePlus 3T rimangono sopra 0,98 GHz per i core piccoli e 1,29 GHz per i core grandi, anche quando il carico della CPU scende allo 0%. Questo è abbastanza strano, dato che normalmente entrambi i set di cores scendono a 0,31 GHz sul OnePlus 3T quando non c'è carico. Dopo aver visto questo per la prima volta eravamo preoccupati che il ridimensionamento della CPU di OnePlus fosse semplicemente impostato in modo un po' strano, tuttavia, dopo ulteriori test, siamo giunti alla conclusione che OnePlus deve avere un target specifico applicazioni. La nostra ipotesi era che OnePlus stesse prendendo di mira questi benchmark per nome e stesse inserendo una modalità di scaling alternativa della CPU per aumentare i punteggi dei benchmark. Una delle nostre principali preoccupazioni era che OnePlus stesse impostando restrizioni termiche più flessibili in questa modalità per evitare i problemi che avevano con OnePlus One, OnePlus X e OnePlus 2, in cui i telefoni gestivano male i core aggiuntivi online per la sezione multi-core di Geekbench e di conseguenza, occasionalmente si verifica un sostanziale throttling (al punto che il OnePlus X a volte ottiene punteggi inferiori nella sezione multi-core rispetto a quella singola) sezione centrale). Puoi trovare forti limitazioni nel nostro Recensione OnePlus 2, dove abbiamo scoperto che il dispositivo poteva perdere fino al 50% del punteggio multi core di Geekbench 3. Successivamente, quando abbiamo iniziato a confrontare strozzature e temperature tra i vari dispositivi, il OnePlus2 è diventato un esempio da manuale di ciò che gli OEM dovrebbero evitare.

Abbiamo contattato la squadra di Laboratori dei primati (i creatori di Geekbench), che hanno contribuito a smascherare la prima ondata di imbrogli nei benchmark e hanno collaborato con loro per ulteriori test. Abbiamo portato un OnePlus 3T nell'ufficio di Primate Labs a Toronto per alcune analisi iniziali. Il test iniziale includeva un dump della ROM da cui è emerso che OnePlus 3T cercava direttamente alcune app per nome. In particolare, OnePlus 3T cercava Geekbench, AnTuTu, Androbench, Quadrant, Vellamo e GFXBench. Poiché a questo punto avevamo prove abbastanza chiare che OnePlus era impegnata in truffe sui benchmark, Primate Labs ha creato un “Il minigolf di Bob” versione di Geekbench 4 per noi. Grazie al cambiamenti sostanziali tra Geekbench 3 e 4, il "Mini golf" La versione ha dovuto essere ricostruita da zero appositamente per questo test. Questa versione di Geekbench 4 è progettata per evitare qualsiasi rilevamento di benchmark, in modo da consentire a Geekbench di funzionare normalmente applicazione su telefoni che barano (andando oltre la ridenominazione del pacchetto che inganna la maggior parte dei tentativi di benchmark imbrogliare).


Un esempio sorprendente

Immediatamente dopo aver aperto l'app, la differenza è stata chiara. OnePlus 3T girava al minimo a 0,31 GHz, come nella maggior parte delle app, anziché a 1,29 GHz per i core grandi e 0,98 GHz per i core piccoli come nella normale app Geekbench. OnePlus stava rendendo il governatore della CPU più aggressivo, risultando in un pratico limite di velocità di clock artificiale in Geekbench che non era presente nella build nascosta di Geekbench. Non si basava sul carico di lavoro della CPU, ma piuttosto sul nome del pacchetto dell’app, che la build nascosta poteva ingannare. Anche se la differenza nei test individuali è stata minima, il rilassamento del throttling termico emerge nel nostro test sulle prestazioni sostenute, mostrato di seguito.

Dai nostri test, sembra che questa sia stata una "caratteristica" del sistema operativo Hydrogen ormai da un po' di tempo, e non è stata aggiunta al sistema operativo Oxygen fino a quando la comunità non si è sviluppata fino al rilascio di Nougat (dopo il due ROM sono state unite). È un po' deludente vedere, soprattutto alla luce dei problemi software che OnePlus ha avuto questo mese in seguito alla fusione delle ROM, da vulnerabilità del bootloader A Problemi di conformità alla GPL. Ci auguriamo che, non appena le acque si saranno calmate in seguito alla fusione dei due team, OnePlus tornerà in forma e continuerà a posizionarsi come un'opzione favorevole agli sviluppatori.

Con il "Mini golf" versione di Geekbench in mano, siamo usciti e abbiamo iniziato a testare anche altri telefoni per imbrogliare i benchmark. Per fortuna i nostri test non mostrano imbrogli da parte delle aziende coinvolte nello scandalo mezzo decennio fa. HTC, Xiaomi, Huawei, Honor, Google, Sony e altri sembrano avere punteggi coerenti tra la build regolare di Geekbench e quella "Mini golf" basarsi sui nostri dispositivi di test.

Sfortunatamente, abbiamo trovato possibili prove di frodi nei benchmark che non siamo ancora stati in grado di confermare da un paio di altre società, su cui indagheremo ulteriormente. L'esempio peggiore di ciò è stato il Meizu Pro 6 Plus alimentato da Exynos 8890, che ha portato l'imbroglio dei benchmark a un altro estremo.


Un terribile esempio

Meizu ha storicamente impostato il ridimensionamento della CPU in modo estremamente conservativo. In particolare, spesso impostano i loro telefoni in modo che i core più grandi raramente siano online, anche quando sono in "modalità prestazioni", rendendo i processori di punta (come l'eccellente Exynos 8890) che inseriscono nei loro telefoni di punta si comportano come processori di fascia media. Questo è arrivato al culmine l'anno scorso quando Anandtech ha criticato Meizu per le sue scarse prestazioni sui benchmark JavaScript di Anandtech sul Meizu Pro 6 basato su Mediatek Helio X25 e notato che i big core sono rimasti offline per la maggior parte del test (quando il test avrebbe dovuto essere eseguito quasi esclusivamente su big nuclei). Anandtech ha notato la scorsa settimana che un aggiornamento software era stato inviato al Meizu Pro 6 che stava finalmente consentendo al Meizu di utilizzare quei core al massimo. Il redattore senior per smartphone di Anandtech, Matt Humrick, ha osservato Quello "Dopo l'aggiornamento a Flyme OS 5.2.5.0G, il PRO 6 ha prestazioni sostanzialmente migliori. I punteggi Kraken, WebXPRT 2015 e JetStream migliorano di circa 2x-2,5x. Apparentemente Meizu ha modificato il valore della soglia di carico, consentendo ai thread di migrare sui core A72 più frequentemente per prestazioni migliori."

Sfortunatamente, sembra che invece di migliorare la scalabilità della CPU per i loro nuovi dispositivi, ottengano risultati migliori punteggi benchmark, sembra che abbiano impostato il telefono per passare all'utilizzo dei core più grandi quando lo sono determinate app corsa.

All'apertura di un'app di benchmarking, il nostro Meizu Pro 6 Plus consiglia di passare alla "Modalità prestazioni" (che da sola è sufficiente per confermare che stanno cercando nomi di pacchetti specifici) e sembra fare una differenza sostanziale. Nella modalità "Balance Mode" standard, il telefono ottiene costantemente punteggi intorno a 604 e 2220 nelle sezioni single-core e multi-core di Geekbench, ma in "Performance Mode" ottiene un punteggio di 1473 e 3906, in gran parte grazie ai grandi core che rimangono spenti per la maggior parte del test in "Balance Mode" e si accendono in "Modalità performante". Meizu sembra bloccare i core piccoli alla velocità massima di 1,48 GHz e impostare un terreno duro per due dei core più grandi da 1,46 GHz durante il funzionamento Geekbench in "Performance Mode" (con gli altri due grandi core che possono scalare liberamente e in modo abbastanza aggressivo), cosa che non vediamo quando eseguendo il "Mini golf" costruire.

Sebbene poter scegliere tra una modalità ad alta potenza e una modalità a basso consumo possa essere una caratteristica interessante, in questo caso sembra non essere altro che un trucco da salotto. Il Meizu Pro 6 Plus ottiene punteggi decenti in "Performance Mode" per la normale app Geekbench, ma quando si utilizza "Mini golf" build di Geekbench, scende allo stesso livello di prestazioni di quando è impostato su "Modalità bilanciamento". Lo stato di prestazioni più elevate del Meizu Pro 6 Plus è solo per il benchmarking, non per l'uso quotidiano effettivo.

Una cosa degna di nota è che quando abbiamo testato il Meizu Pro 6 Plus in “Performance Mode” con il segreto build di Geekbench, i grandi core sono arrivati ​​online se registravamo le velocità di clock con Qualcomm Trepn. Non abbiamo ancora determinato se il Meizu riconosce che Trepn è in funzione e attiva i grandi core in parte a causa di ciò, o se semplicemente sta accendendo i core più grandi a causa del carico aggiuntivo della CPU crea. Anche se potrebbe sembrare controintuitivo che un carico aggiuntivo in background (come quando abbiamo mantenuto attivi i grafici delle prestazioni durante il test) aumento i risultati di un benchmark, il ridimensionamento conservativo di Meizu potrebbe significare che il sovraccarico aggiuntivo era abbastanza per spingerlo oltre il limite e chiamare in azione i grandi core, migliorando così le prestazioni per tutti compiti.


Quando gli OEM ricettivi rispondono al feedback...

Dopo i nostri test, abbiamo contattato OnePlus in merito ai problemi riscontrati. In risposta, OnePlus ha rapidamente promesso di smettere di prendere di mira le app di benchmarking con i suoi cheat di benchmark, ma intende comunque mantenerlo per i giochi (che vengono anch'essi sottoposti a benchmark). In una futura build di OxygenOS, questo meccanismo non verrà attivato dai benchmark. OnePlus ha accolto con favore il nostro suggerimento di aggiungere anche un interruttore, in modo che gli utenti sappiano cosa sta succedendo sotto il cofano, e per lo meno dovrebbe esserlo il vantaggio ingiusto e fuorviante nei parametri di riferimento corretto. A causa delle festività del Capodanno cinese e del relativo arretrato di funzionalità, tuttavia, potrebbe passare un po' di tempo prima di vedere le opzioni di personalizzazione rivolte all'utente per questa funzionalità prestazionale. Anche se correggere il comportamento da solo rappresenta un miglioramento, è comunque un po' deludente vederlo nella versione regolare applicazioni (come i giochi), in quanto è una stampella per indirizzare app specifiche, invece di migliorare le prestazioni effettive ridimensionamento. Aumentando artificialmente l'aggressività del processore, e quindi la velocità di clock per app specifiche invece di migliorare la capacità del telefono di identificare quando ha effettivamente bisogno di una velocità maggiore velocità di clock, OnePlus crea prestazioni incoerenti per i propri telefoni, che diventeranno più evidenti solo man mano che il telefono invecchia e sempre più giochi che OnePlus non ha preso di mira sono rilasciato. Tuttavia, l'implementazione attualmente consente ai giochi di funzionare meglio. OnePlus ha anche fornito una dichiarazione per questo articolo, che potete leggere di seguito:

 'Al fine di offrire agli utenti una migliore esperienza utente in applicazioni e giochi ad alta intensità di risorse, soprattutto graficamente intensivi quelli, abbiamo implementato alcuni meccanismi nella community e nelle build di Nougat per far sì che il processore funzioni di più aggressivamente. Il processo di attivazione per il benchmarking delle app non sarà presente nelle prossime build OxygenOS su OnePlus 3 e OnePlus 3T.'

Siamo lieti di apprendere che OnePlus rimuoverà il cheating dei benchmark dai propri telefoni. In futuro continueremo a tentare di fare pressione sugli OEM affinché siano più amichevoli nei confronti dei consumatori, quando possibile, e terremo gli occhi aperti per futuri imbrogli dei benchmark.

Sfortunatamente, l’unica vera risposta a questo tipo di inganno è la vigilanza costante. Come comunità di appassionati di smartphone, dobbiamo tenere gli occhi aperti contro tentativi di ingannare gli utenti come questo. Non sono i punteggi dei benchmark in sé che ci interessano, ma piuttosto cosa dicono i benchmark sulle prestazioni del telefono. Mentre il cheating benchmark non era ancora attivo sul OnePlus 3 quando l'abbiamo recensito, è bastato un semplice aggiornamento software per aggiungere questa “funzionalità” fuorviante e illustra chiaramente che controllare i dispositivi per imbrogliare i benchmark al primo lancio non lo è Abbastanza. Problemi come questo possono essere aggiunti artificialmente giorni, settimane, mesi o addirittura anni dopo il lancio del dispositivo gonfiando le medie globali raccolte dai parametri di riferimento nei mesi successivi, influenzando il database finale risultato. Va notato che anche con queste modifiche i produttori hanno dovuto investire tempo e denaro per sviluppare, in genere vediamo solo un paio di punti percentuali di aumento nei punteggi dei benchmark (esclusi un paio di casi marginali come Meizu, dove l'imbroglio nasconde problemi molto più grandi). Un paio di punti percentuali, che è molto più piccolo del divario tra i dispositivi con le prestazioni migliori e quelli con le prestazioni peggiori. Sosteniamo, tuttavia, che con dispositivi che utilizzano hardware sempre più simile, quei punti percentuali extra potrebbero essere il fattore decisivo nelle classifiche che gli utenti alla fine cercano. Una migliore ottimizzazione dei driver e un ridimensionamento più intelligente della CPU possono avere un effetto assolutamente enorme sulle prestazioni del dispositivo, con la differenza tra il punteggio del dispositivo basato su Qualcomm Snapdragon 820 con le migliori prestazioni e di quello con le peggiori prestazioni (di un importante OEM) supera il 20% su Geekbench. Il 20% dall'ottimizzazione dei conducenti, anziché un paio di punti percentuali dall'investimento di tempo e denaro per ingannare gli utenti. E questo riguarda solo gli sforzi di sviluppo che possono influenzare i punteggi dei benchmark. Molti dei maggiori vantaggi derivanti dall’investimento nel miglioramento del software di un dispositivo non sempre compaiono nei benchmark, con OnePlus che offre eccellenti prestazioni nel mondo reale nei propri dispositivi. Dovrebbe davvero essere chiaro dove dovrebbero concentrarsi gli sforzi di sviluppo di un’azienda in questo caso. Ci stiamo rivolgendo a sempre più aziende che imbrogliano i benchmark così come li troviamo, e speriamo che siano altrettanto ricettivi quanto OnePlus.


Vorremmo ringraziare ancora una volta il team di Primate Labs per aver collaborato con noi per scoprire questo problema. Sarebbe stato sostanzialmente più difficile testare adeguatamente i trucchi dei benchmark senza l'edizione "Mini Golf" di Geekbench.