Lita INTE på OnePlus 5-riktmärken i recensioner

OnePlus 5 deltar igen i benchmark-fusket i ett försök att lura recensenter och kunder. Ta reda på hur de gjorde det i vår artikel!

Tidigare i år har vi publicerade en rapport som fördömde OnePlus (och andra företag) för deras olämpliga beteende när det gäller benchmarkmanipulation på nyare versioner av OxygenOS. Idag måste vi tyvärr följa upp våra anklagelser eftersom företaget återigen har manipulerat benchmarkresultaten på ett olämpligt sätt i OnePlus 5.

Även om inga kunder har en enhet i sina händer (den har precis lanserats trots allt), har vi lärt oss om OnePlus nya benchmark fuskmekanism genom vår granskningsenhet, som vi fick för ungefär tio dagar sedan före dagen då embargot bryts och granskare får rapportera om enheten. Tyvärr är det nästan säkert att varje recension av OnePlus 5 som innehåller ett riktmärke använder vilseledande resultat, eftersom OnePlus gav recensenter en enhet som fuskar på riktmärken. Detta är ett oförlåtligt drag, eftersom det i slutändan är ett försök att vilseleda inte bara kunder, utan befläcka recensenters och journalisters arbete med vilseledande data som de flesta inte kan veterinära eller kontrollera. Som ett resultat är varje OnePlus 5-recension som citerar benchmarkpoäng som en utmärkelse för telefonens framgång. vilseledande både skribenter och läsare, och prestationsanalyser baserade på syntetiska riktmärken är ogiltig. Vad som är värre är att den här gången,

fuskmekanismen är flagrant och syftar till att maximera prestanda, till skillnad från förra gången som inte ökade poängen med mycket i genomsnitt, men som minskade variansen och den termiska strypningen, som vi hittade.

Innan vi går in i detaljerna vill jag säga att vi är besvikna på att företaget ännu en gång tar till dessa metoder. Vi kommer inte heller att tillhandahålla en fullständig resultatanalys involverar alla våra inkluderade tester eftersom många av våra föredragna riktmärken påverkas av fuskmekanismen. Slutligen kommer vi att dela upp den här rapporten från vår övergripande bedömning av själva enheten, eftersom vi är säkra den skyldige koden kommer att tas bort från konsumentbyggen efter denna rapport och våra samtal med OnePlus representanter. Även om vi inte tror på den här artikeln nödvändigtvis skulle ändra din uppfattning om själva hårdvaran, är det rätt för den att föra fram din åsikt om företaget eftersom det är deras andra överträdelse.


Ett snabbt ord om metodik

Alla poäng i den här artikeln har erhållits på en OnePlus 5 recensionsenhet som kör OxygenOS version 4.5.0 (A5000_22_170603); detta är en förproduktionsenhet, och den laddades ursprungligen med förproduktionsprogramvara som fick en OTA till versionen ovan. OnePlus vidarebefordrade granskare instruktioner för att aktivera möjligheten att ladda ner benchmark-applikationer Play Store, och antagligen gjordes detta för att det inte skulle finnas några läckor för benchmarkpoäng före tid. Det ledde mig till det faktum att OnePlus hänvisade till benchmarkpaket med namn i deras ROM. När det gäller testning hade ROM minimala bakgrundsprocesser utan tredjepartsapplikationer och körde flygplansläge där det är tillämpligt; CPU-frekvenser loggades endast för att avgöra omfattningen av fusket och inte i testerna som gav resultat för den här artikeln. Alla temperaturer mättes med en FLIR C2 Compact med varje uthållighetslopp som börjar vid en yttertemperatur på 28,5°C | 83,3°F.


Benchmark Manipulation -- Hur det görs

I januari förra året avslöjade vår rapport en fuskmekanism som finns i OxygenOS Beta builds och i fraktmjukvaran för OnePlus 3T. Vi tillskrev dessa ändringar till de senaste sammanslagning av de då disparata OxygenOS och HydrogenOS utvecklarteam och den underliggande kodbasen för OxygenOS som nu skulle delas med HydrogenOS, även om denna spekulation ännu inte har bekräftats. Det var vettigt för oss vid den tiden och kommentarer från OnePlus-representanter till XDA-utvecklare gav trovärdighet till vår teori. Med OnePlus 5 ser vi en annan typ av fuskmekanism, men vi kan inte fastställa om detta medvetet introducerades av samma utvecklare som lade till det första gången. Vi vet bara att den riktar sig till samma paket.

Så hur fungerar det, och vad är skillnaden? Förra gången introducerade OnePlus ändringar i beteendet hos deras ROM när den upptäckte att en benchmark-applikation öppnades. Sådana applikationsnamn listades uttryckligen av deras paket-ID i ROM i ett manifest som specificerade målen. Sedan skulle ROM ändra frekvensen i förhållande till en justerad CPU-belastning -- våra verktyg visade att CPU-belastningen skulle sjunka till 0 % oavsett uppenbar aktivitet i applikationen, och CPU: n skulle se en nästan lägsta frekvens på 1,29 GHz i de stora kärnorna och 0,98 GHz i de lilla kärnor. Denna minimifrekvens minskade det effektiva frekvensområdet, vilket i sin tur minskade antalet stegfrekvenser; i benchmarks, resulterade detta i något lägre varians och, som vi visade, högre ihållande prestanda eftersom den högre lägsta frekvensen inte kunde åsidosättas av termisk strypning. Kort sagt, fuskbeteende var tydligt och påvisbart genom att både titta på poängvarians och genom att övervaka CPU-frekvenser under hela benchmark, som visade ett frekvensgolv som - för det mesta - gjorde att enheten konsekvent kunde nå sin fulla potential.

OnePlus 5, å andra sidan, är en helt annan best - den tillgriper den typen av uppenbara, beräknade fuskmekanismer vi såg i flaggskepp i Androids tidiga dagar, ett tillvägagångssätt som tydligt är avsett att maximera poängen i de mest vilseledande mode. Även om det inte finns några regulatoromkopplare när en användare anger ett riktmärke (åtminstone verkar vi inte kunna ser det är fallet), hoppar den lägsta frekvensen för det lilla klustret till den maximala frekvensen som ses under prestandareglerare. Alla små kärnor påverkas och hålls på 1,9 GHz, och det är genom detta fusk som OnePlus uppnår några av de högsta GeekBench 4 poäng av en Snapdragon 835 hittills - och förmodligen den högsta möjliga med tanke på dess kompromisslösa konfiguration med dess specifika konfiguration. Poäng säkerligen högre än de som erhålls av liknande enheter och Qualcomms egen MSM8998-testenhet som vi hade turen att jämföra. Nedan finns en lista över benchmarkapplikationer som påverkas:

  • AnTuTu (com.antutu.benchmark.full)
  • Androbench (com.andromeda.androbench2)
  • Geekbench 4 (com.primatelabs.geekbench)
  • GFXBench (com.glbenchmark.glbenchmark27)
  • Kvadrant (com.aurorasoftworks.quadrant.ui.standard)
  • Nenamark 2 (se.nena.nenamark2)
  • Vellamo (com.quicinc.vellamo)

Det som är helt föga förvånande är de applikationer som påverkas är exakt samma som förra gången, och OnePlus riktar sig helt klart mot samma paket. Skillnaden i poäng är precis vad du kan förvänta dig, för det mesta. Vi kunde spoofa benchmark-fusket och undvika det med GeekBench 4, på samma sätt som våra tester i vår senaste rapport. Vi upptäckte att medan du körde GeekBench 4 från Play Store, fick enheten över 6 700 i multi-core, medan vi aldrig fick en poäng på 6 500 när enheten beter sig som förväntat med vår dolda konstruktion av GeekBench. Nedan kan du se en frekvens över tid för OnePlus 5:s lilla kluster när du kör GeekBench 4 från Play Store, och samma konfiguration kör en build av GeekBench 4 utan identifierare som kan lura OnePlus fusk mekanism.

Om det inte framgår av grafen ovan: vi frågade CPU-frekvensen var 100:e ms, och totalt gav endast 24,4 % av avläsningarna den maximala frekvensen på 1,9 GHz när fusk inaktiverades. Under tiden, körningen med aktiverat fusk spenderade häpnadsväckande 95 % av avläsningarna i dess högsta frekvenstillstånd. Det är helt uppenbart att OnePlus håller CPU-frekvenserna för dessa kärnor artificiellt höga under benchmark, vilket resulterar i betydligt högre totala poäng i multi-core testet och manifesteras också i olika CPU-bundna delpoäng i den detaljerade uppdelningen av varje test (särskilt i heltal och float operationer). Skillnaden är dock mest tydlig och fördelaktig i poäng med flera kärnor, och resultat med en kärna är faktiskt förvånansvärt lika mellan körningarna med och utan benchmark-fusk, där den enda kärnpoängen faktiskt är högre i genomsnitt utan manipulation.

Ändå är multi-core den siffra som de flesta människor överväger och omedelbart lägger märke till när det kommer till detta specifika riktmärke, givet Android är ett mycket parallellt operativsystem som nu är fullt av flertrådade applikationer efter år av stöd för flera kärnor. Även om ökningen bara är meningsfull i flertrådiga riktmärken och tester, skulle det fortfarande resultera i en betydande, orättvis och en icke-representativ fördel gentemot andra enheter som låter sina standardregulatorer och prestandainställningar fungera under riktmärke; dessa ändrade resultat är inte representativa för den verkliga prestandan hos OnePlus 5 på något sätt, eftersom de är reflekterar en topp och annars ouppnåelig prestanda hos enheten under artificiella förhållanden och utan begränsningar.

Multi Core-poängdeltatet mellan poängen när man kör GeekBench 4 med och utan fuskmekanismen kan vara upp till 6,5 %, även om det i genomsnitt är runt 5 %. Det kan se obetydlig, men den knuffen räcker för att driva enheten framför andra Snapdragon 835-enheter. Ovan kan du se en punktplot av flera oberoende körningar av GeekBench 4 med och utan fuskmekanismen. Avgrunden är uppenbar, och som man kan dra slutsatsen från boxplotten kan den inte vara ett resultat av inneboende varians. Kort sagt, att öka CPU-frekvenserna artificiellt höga ger verkligen mycket bättre resultat i syntetiska riktmärken.

Nedan kan du se en plot av prestanda över tid med tillhörande temperaturer, som vi ville bestämma om det finns termisk avslappning på spel också, eller om det fanns en skillnad i poäng under ihållande benchmarking.

Vi satte upp GeekBench 4-tester med en paus på två sekunder mellan resultatskärmen och initieringen av ytterligare en benchmarkkörning; extern enhetstemperatur (inte batteritemperatur som rapporterats av Android) mättes med en FLIR-termisk kamera efter en sekunds kalibrering, med ett medelvärde av de tre omedelbara mätningarna på två sekunder mellan springer. Jag blev ganska förvånad över att se att dessa två enheter totalt sett värmdes upp i ungefär samma takt och att ingen av dem såg en minskning i poäng. Alla resultat i varje datauppsättning ligger inom den förväntade variansen, vilket tyder på att det inte finns någon termisk strypning på spel. Vid närmare granskning borde detta verkligen inte komma som en överraskning med tanke på långvarig prestanda en av de inneboende styrkorna hos Cortex-A73-kärnorna som Snapdragon 835:s Kryo-kärnor är baserade på. De berörda kärnorna är de energieffektiva kärnorna, och det faktum att GeekBench 4 specifikt kommer med åtgärder för att förhindra strypning som ändrar poängen för deltesterna nära slutet av en körning, är något vi lärde oss av vår intervju med John Poole.

Intressant nog är inte alla populära riktmärken inriktade på OnePlus fuskmekanism. 3DMark, till exempel, såg faktiskt inte något av dessa problem när de körde tester eller ens öppnade programmet. Men andra riktmärken som GFXBench är riktade och vi ser samma CPU-beteende när vi öppnar och kör dem. Faktum är att under en ihållande prestandakörning med GFXBenchs Manhattan Battery Test, nådde OnePlus 5 temperaturer på över 50°C | 122°F (yttre temperatur), en mycket sällsynt förekomst bland enheter jag har testat tidigare, som alla upplever en viss grad av termisk strypning som hindrar dem från att bli riktigt varm.


Lura mig en gång, skam mig; Lura mig två gånger, skam dig

Det är lite upprörande att det har kommit till en punkt där vi måste ropa ut samma företag två gånger för att ha manipulerat benchmarkpoäng. Det faktum att allt detta också gjordes på granskningsenheter förvärrar problemet ytterligare: denna fuskmekanism syftar till att maximera prestanda och få enheten att se bättre eller snabbare ut i prestandaavsnitt i recensioner. Mål- och manipulationssystemet paketerades i förproduktionsenheter som skickades till journalister som kommer att basera sina fynd på sin enhet från OnePlus, många av dem kan inte eller vill inte verifiera förekomsten av fusk i deras granskningsenhet. Det är inte på något sätt deras fel, men XDA är på jakt efter benchmarkmanipulation bara för att vi hittade det tidigare, och vi tyckte att det var bäst att informera våra läsare och potentiella telefonköpare.

Vi hoppas att den här artikeln kan återuppväcka en bredare konversation om riktmärken, deras roll och deras användbarhet i dagens smartphonerecensioner. Gör inga misstag, företag som Qualcomm och Samsung do bryr sig om riktmärken, och de anser dem vara ett giltigt, om det är ofullständigt, sätt för kunder att bedöma prestanda för sina enheter även om de har mer sofistikerade verktyg att hänvisa till när de utvecklar sina processorer. I slutändan kan riktmärken vara av stor betydelse om man förstår vad programvaran mäter, och i vilken utsträckning dess resultat kan användas för att härleda rankningen av en viss processor, en viss konfiguration av hårdvara, eller i mer holistiska termer, en specifik telefon med de beteendeförändringar som dess mjukvara introducerar som väl. Jag tror att vi har kommit till en tid då det är viktigare att fokusera på verkliga prestanda och energieffektivitet än på rå datorer eller bearbetning skicklighet, eftersom det uppenbarligen är tydligt vid denna tidpunkt att flaskhalsen för verkliga prestanda kommer från Android och särskilda implementeringar av det av OEM.

När jag går tillbaka till OnePlus så vet jag verkligen inte varför företagets mjukvaruteam, och vilken sida av mjukvaruteamet specifikt, återinförde benchmarkmanipulation efter att ha blivit utropad. Det är värre den här gången, med det uppenbara syftet att blåsa upp poäng producerade av recensenttelefoner. OnePlus 5 är fortfarande en otroligt presterande enhet som verkligen inte behöver benchmarkfusk för att göra ett uttalande - jag har verkligen blivit förvånad över dess smidighet och allmänna lyhördhet och det är tydligt för mig efter min tid med företagets enheter samt intervjuer och samtal med deras ledning att de vet att prestation är en stark aspekt av deras telefoner. Det är troligtvis ett kalkylerat drag, eftersom de kanske har räknat ut att det var värt att irritera en liten del av främst västra sidan av entusiastmarknaden för att kanske plåsta Internet med de högsta referenspoängen de kunde uppbåda. Hur det än är, hoppas jag ärligt talat att företaget rättar till detta fel eftersom jag har bra saker att säga om deras hårdvara, men de har börjat släppet med fel fot i mina ögon.


Uttalande från OnePlus

Vi kontaktade OnePlus för en kommentar om det här problemet, och här är vad de hade att säga:

Människor använder benchmark-appar för att försäkra sig om deras enhets prestanda, och vi vill att användarna ska se den verkliga prestandan hos OnePlus 5. Därför har vi tillåtit benchmarkappar att köras i ett tillstånd som liknar daglig användning, inklusive körning av resurskrävande appar och spel. Dessutom, när du startar appar körs OnePlus 5 i ett liknande tillstånd för att öka hastigheten i vilken appar öppnas. Vi överklockar inte enheten, snarare visar vi prestandapotentialen hos OnePlus 5.

Detta uttalande som vi fick i morse är lite av en chock att höra, eftersom benchmarkfusket försätter enheten i ett tillstånd som är uttryckligen inte hur enheten kommer att fungera i daglig användning, och det representerar prestanda som du inte kommer att se i andra appar som inte är specifikt inriktade på sådana ökningar.

Tänk på att till skillnad från konkurrenskraftig överklockning är de flesta telefonriktmärken utformade för att representera hur en telefon kommer att fungera i vardagsbruk. Det är inte bara en poäng för att försöka uppnå högsta möjliga resultat, utan snarare ett försök att representera hur telefonen presterar under vanliga termiska profiler och batterianvändning. Ett försök att representera hur telefonen faktiskt fungerar vid daglig användning. Dessa riktmärken är inte utformade för att mäta någon "prestandapotential" som inte är möjlig att uppnå i den verkliga världen användning, och alla försök att rikta in dem med "defeat device" stil benchmark fuskkod är vilseledande för användarna. Om du låser CPU-klockhastigheten till sitt maximala värde och låter telefonens kroppstemperatur stiga till oanvändbar nivåer när vissa appar öppnas, så är det inte en indikation på hur telefonen kommer att fungera när den är i verkligheten använda sig av.

Medan den termiska profilen var relativt normal i den CPU-tunga Geekbench 4 där den fantastiska ihållande prestandan hos de ARM Cortex-A73-baserade Kryo 280-kärnorna tillåter telefonen för att köra på de ökade batterianvändningsnivåerna som benchmarkfusket förde med sig utan att bli för varm, såg vi en helt annan historia med GPU-intensiva appar. Som nämnts, under testning av ihållande prestanda med GFXBenchs Manhattan Battery Test, nådde OnePlus 5 temperaturer runt 50°C | 122°F (yttre temperatur), vilket är brännhett för en telefon, och är ordentligt obekväm att hålla i. Försöker spela tv-spel eller använda andra GPU-intensiva appar med en 50°C | 122°F telefon skulle bara vara en dålig användarupplevelse.

Även om OnePlus också inriktar sig på appar som inte är benchmark med deras benchmark fuskkod, skulle det fortfarande vara ett problem, eftersom det skulle innebära att prestandan som du ser i intensiva appar idag kommer att vara helt annorlunda än vad du ser i nuvarande appar som inte finns på listan, eller i framtida intensiva appar när OnePlus slutar uppdatera listan. Detta kan ändras genom att tillåta användare att vitlista vilka applikationer som drar nytta av dolda förstärkningar, liksom visa tydligt vilka som drar nytta av standard -- vi föreslog detta med vår senaste rapport, men det har det inte varit genomförs.

Vi är besvikna över OnePlus agerande i denna fråga och hoppas att OnePlus för andra gången kommer att ta bort benchmark-fuskkoden från deras programvara. Det är en felaktig presentation av sin telefon för sina kunder och är inte den typ av beteende som vi gillar att se med enheter som annars är så fantastiska som OnePlus 3T och OnePlus 5.


UPPDATERAD UTTALANDE

OnePlus har tillhandahållit ett uppdaterat uttalande som bättre förklarar deras ståndpunkt i ämnet:

"Vi har satt OnePlus 5 för att köra riktmärken på en högpresterande nivå som är både naturlig och hållbar för alla enheter, media och konsumenter, så att användare kan se enhetens verkliga potential när de kör resurskrävande appar och spel. Inte vid något tillfälle överklocka vi CPU: n, och inte heller ställer vi in ​​ett CPU-frekvensgolv.

Vi är övertygade om att vårt tillvägagångssätt bäst visar de verkliga prestandamöjligheterna hos OnePlus 5."

Uttalandet säger korrekt att det inte är någon överklockning inblandad (vilket skulle vara ett steg över deras nuvarande mekanism, när det gäller att producera illegitima poäng), och det finns inget CPU-frekvensgolv som det vi faktiskt såg förra gången. Genom detta uttalande och efter samtal med OnePlus-representanter står det klart för mig att de inte har gjort det implementerade denna mekanism av ren illvilja, men för att de ville visa prestanda "förmågor" av enhet. Men återigen måste vi påpeka att "kapacitet" här (och till dem) syftar på topppotential, inte den faktiska prestandanivån som användarupplevelsen måste ge genom traditionell frekvens skalning. Håller med eller inte håller med, det är bekräftat att denna benchmarkmanipulation kommer att förbli, även om vi har föreslagit möjligheten att göra en sådan prestandaprofil användartillgänglig för utvalda applikationer, och jag tror att OnePlus är mottaglig för det aning. Det finns andra företag som gör sådana justeringar användartillgängliga, inklusive HTC och Samsung, även om deras lösningar mestadels kretsar kring minskad energiförbrukning (även om förändringar i upplösning per app ökar prestandan i spel, för).

Faktum kvarstår att benchmark-tillverkare, Android-ingenjörer och entusiaster ser dessa mekanismer som orättvisa, orättvisa för användarupplevelse, lite vilseledande och i slutändan ett slöseri med resurser som kunde ha gått till en annan aspekt av produktutvecklingen. Om du vill se hur hårt OnePlus 5 kan pressa sin hårdvara, kommer du förmodligen att hålla med om OnePlus beslut. Om du vill se hur OnePlus 5:s kombination av hårdvara och standardmjukvara jämför med andra enheter med liknande hårdvara, du har tur, eftersom att manipulera CPU-frekvenser på ett sådant sätt gör poäng helt inkommensurabel.

Slutligen, och med risk för att bli konfronterande, skulle jag också vilja ta en stund för att nämna något som missnöjde mig med mottagandet av denna rapport: det har varit delas över hela världen tusentals gånger och ombloggas av tusentals butiker också, men dess budskap och detaljer är antingen höljda i dimma eller släpps helt med vägen. Jag har sett en sådan flagrant och skrämmande felaktig täckning av den här artikeln, med fruktansvärda felaktiga framställningar om vad vi sa, vad vi hittade, själva mekanismen och OnePlus uttalande och planer för framtiden. Faktum är att här är några saker jag vill att sådana bloggar ska veta: OnePlus "manipulerade" inte med granskarenheter; frågan sträcker sig även till konsumentenheter; det är ett medvetet beslut av OnePlus; nej, de berättade inte för oss att det skulle förändras; termisk strypning kan vara lättad, men telefonen riskerar inte att explodera; det finns ingen "fuskkod"; vi är faktiskt nöjda med enhetens faktiska prestanda, vrid inte på våra ord; Qualcomm har inget med detta att göra; vi "skämde" aldrig HTC och Samsung i våra rapporter, vi nämnde dem i förbigående och för sammanhang i vår första artikel, på grund av en mycket äldre incident. Det är bara en bråkdel av de vanliga felen jag önskar att jag kunde ta itu med. Alltför många artiklar och videor som vi har sett har haft ett grundläggande fel och missförstånd som, enligt vår mening, slaktar timmarna av noggrann datainsamling och analys som gick in i den här artikeln. Vad värre är, problemet förvärras när vi läser indiska eller kinesiska bloggar som ytterligare förstör våra resultat på grund av de inneboende svårigheterna med översättning. I slutändan är vi extremt besvikna på teknikmedias hantering av denna rapport, särskilt de som använde vår slutsats för att skriva "hit pieces" mot OnePlus, vilket vi egentligen aldrig hade tänkt oss. Vi sa det ovan, vi sa det i våra första intryck, och vi sa det igen: själva produkten är bra, prestanda är fenomenal.