Samsung beperkte de prestaties van veel apps die gebruikers dagelijks openen, maar niet die van benchmarks, zo bleek deze week. De 'Game Optimizing Service' is het zoveelste voorbeeld van een smartphonefabrikant die de soc harder laat werken als er benchmarks draaien.
Het was een hot item zeven jaar geleden: letterlijk dan. We hadden de HTC One M9 op de redactie en die telefoon bleek behoorlijk warm te worden. In benchmarks warmde de behuizing van het toestel op tot boven de 55°C, terwijl andere telefoons onder de 42°C bleven steken. En als je de telefoon gewoon gebruikte? Dan was er niks aan de hand.
De HTC One M9 was voorzien van de Snapdragon 810, een Qualcomm-soc die achteraf bekendstaat als een mislukking. Het was een tijd dat koeling in telefoons nog geen prioriteit had in het ontwerp en de vaak metalen behuizingen van toestellen konden de hitte van die soc simpelweg niet goed kwijt. Veel fabrikanten klokten de prestaties daarom behoorlijk terug, maar als je dat in benchmarks doet, lijkt het alsof je nieuwe telefoon trager is dan zijn voorganger. Het hitteprobleem bleek trouwens na de release snel opgelost. De benchmarkscores werden toen wel lager.
De zaak rond HTC was niet de eerste en laatste keer dat we op de redactieburelen van Tweakers hebben getwijfeld of fabrikanten benchmarks anders behandelen dan andere apps. Daarom hakten we in 2018 de knoop door: smartphonereviews bevatten sinds die tijd geen synthetische benchmarks meer. "Het belangrijkste doel van een review is goed en duidelijk weergeven hoe een telefoon op diverse vlakken presteert. We merkten dat de toegespitste benchmarks daarvoor steeds minder een middel vormden", schreven we toen en dat is nog steeds even waar als voorheen. Als we synthetische benchmarks gebruiken, vergelijken we socs, en niet telefoons.
De apps waarvan Samsung prestaties beperkt
:strip_exif()/i/2004953500.jpeg?f=thumblarge)
Samsung heeft onder meer op de Galaxy S22-telefoons, maar ook op de S21, S20 en S10 de Game Optimizing Service. Dat klinkt natuurlijk prima: wie wil nu niet de prestaties van games optimaliseren op zijn telefoons? Het probleem is dat de prestaties niet worden geoptimaliseerd, en het gaat trouwens lang niet alleen over games.
Het is onbekend of alle genoemde telefoons in alle versies Game Optimizing Service hebben draaien. Er is geen coherente lijst van welke telefoons wel en niet de toepassing hebben.
Een gebruiker van het Zuid-Koreaanse Meeco-forum heeft een lijst online gezet. Apps en games staan erin met de namen van hun installatiebestand, maar met de zoekfunctie kun je redelijk achterhalen of je favoriete apps ertussen staan. Die kans is best groot.
Ten eerste staan er rond de 3300 games in. Dan zijn er nog 6500 apps die geen game zijn en een aantal waarvan onbekend is wat ze zijn. De lijst is uitputtend, dus het is onmogelijk om ze allemaal te noemen, maar onder de niet-games zijn vrijwel alle apps van Samsung zelf, waaronder de eigen browser.
Over browsers gesproken: Chrome staat er ook tussen, net als de bèta van Chrome. Firefox ook, maar de bèta van Firefox dan weer niet. Een alternatieve browser gebruiken helpt ook niet; Brave, Opera, UC Browser: ze staan er allemaal tussen. Samsung throttlet ook veel video-apps, zoals Netflix, YouTube en Disney+. Dat geldt ook voor sociale media, zoals WhatsApp, Instagram, Facebook, TikTok en Snapchat.
De lijst bevat ook Nederlandse apps, zoals die van banken als ABN Amro, ING en Rabobank, naast Belgische banken als Belfius en BNP Paribas. Samsung throttlet wel het Belgische Coronalert, maar niet het Nederlandse CoronaMelder. CovidSafe en CoronaCheck staan niet op de lijst.
Van de Nederlandse overheid beperkt Samsung wel de prestaties van de Berichtenbox en DigiD, zo blijkt uit de lijst. Verder zijn op de lijst Nederlandse apps te vinden van bijvoorbeeld Marktplaats, tv-programma Wie is de Mol, school-app Magister, winkelketen Hema, krant De Telegraaf, nieuwssite NU.nl en betaaldienst Tikkie.
Samsung heeft al gereageerd en zegt dat de throttling nodig is om de hitteontwikkeling bij games te beperken bij lang spelen, maar dat verklaart uiteraard niet waarom al die apps op de lijst staan. Iemand wel eens een oververhitte telefoon gehad, omdat Tikkie te lang een blij gifje aan het afspelen was?
De throttling wordt een uit te schakelen functie in Game Booster, volgens het statement. Dat is uiteraard een heel beperkte oplossing, want het gaat volgens de lijst niet alleen om games. Het is onbekend of Samsung op een later moment met een structurelere oplossing komt.
:strip_exif()/i/2004931734.jpeg?f=imagenormal)
Wat er gebeurt bij throttling
Als een app op de lijst staat, krijgt hij niet de beschikking over de processorkracht die het toestel heeft. Dat gebeurt in elk geval op de Exynos-versies van telefoons die in de Benelux uitkomen, maar vermoedelijk ook op Samsungs Snapdragon-modellen. Daardoor openen apps minder snel en verloopt de werking minder snel dan zou kunnen. Benchmarkresultaten online, gedaan met gewijzigde benchmarkapps waarvan een telefoon denkt dat ze op de lijst staan, wijzen op een prestatievermindering van al snel 35 procent.
De reden daarvoor laat zich raden. Als de apps volledige toegang zouden krijgen tot de prestaties van de soc, zou het toestel op wat voor manier dan ook in de problemen komen. De accu gaat bijvoorbeeld merkbaar sneller leeg, de telefoon wordt te warm, of een combinatie van beide.
Het beperken van prestaties voor het in toom houden van hitte of het verlengen van de accuduur is niet per se iets slechts, maar het punt is dat dit op veel high-endtelefoons van Samsung zit én dat Samsung daar niets over zei. Als het een optie is die standaard aan staat, is dat veel minder problematisch.
Bovendien staan veel apps en games ertussen, maar benchmarks niet. Daardoor geven de benchmarkresultaten een vertekend beeld van de prestaties die gebruikers in de dagelijkse praktijk kunnen verwachten. Alleen browserbenchmarks functioneren naar behoren, omdat de browsers ook op de lijst staan en dus beperkte prestaties hebben.
Een lange traditie
De socs in smartphones spelen eigenlijk pas een grote rol sinds 2009 of 2010. Daarvoor waren er maar weinig reviews met synthetische benchmarks te vinden, en dus weinig gevallen van valsspelen in benchmarks.
De eerste keer dat het groots aan het licht kwam, was in 2013. De truc die AnandTech toen ontdekte, was relatief simpel. Fabrikanten zetten in hun firmware code om de benchmarkapps te herkennen, waarna bij het opstarten de kloksnelheid gelijk naar de maximale waarde wordt opgevoerd. Vervolgens kan de benchmark gedurende de run beschikken over alle processorkernen op maximale kloksnelheid, iets wat in normale omstandigheden niet zou gebeuren.
De eerste bij wie dat aan het licht kwam, was niemand minder dan de toenmalige, en huidige, marktleider Samsung. Toen heette de boosdoener geen GOS, maar TwDVFSApp, wat hoogstwaarschijnlijk stond voor TouchWiz Dynamic Voltage and Frequency Scaling. Ook was de string 'BenchmarkBooster' in de code te vinden, waarmee compleet helder is waarvoor de functionaliteit bedoeld is.
HTC One herkent 3DMark en schakelt automatisch alle processorkernen in op de maximale kloksnelheid, zelfs al in het hoofdmenu. In een normale situatie met een load van slechts enkele procenten had de soc enkele kernen automatisch uitgeschakeld en de andere in kloksnelheid verlaagd om de accu te sparen en te voorkomen dat de telefoon warm wordt.
Na de ontdekking bij Samsung volgden soortgelijke ontdekkingen bij HTC en LG, toen grote namen op de smartphonemarkt. Ook Huawei bleek vals te spelen. Het ontdekken daarvan ging als volgt: AnandTech pakte het installatiebestand van een benchmark en wijzigde de naam, zodat hij onder een andere naam zou installeren. Vervolgens keek de site of er verschil was in prestaties tussen de officiële en de hernoemde versie van de benchmark. Dat bleek er dus bij veel telefoons te zijn. Bij Motorola, toen eigendom van Google, was dat niet het geval.
Daarna bleef het een paar jaar stil, op de Snapdragon 810-telefoons na, maar in 2017 begon de hele cirkel weer opnieuw. OnePlus probeerde winst te halen door te optimaliseren voor benchmarks in zijn toen populaire smartphones 3 en 3T. Foutje? Nou nee, want bij de OnePlus 5 gebeurde dat ook, maar de cheat verdween toen snel.
:strip_exif()/i/2001329947.jpeg?f=imagenormal)
OnePlus profileerde zich toen nog als hippe start-up, maar was natuurlijk in feite al die tijd een dochtermerk van OPPO. Zou OPPO dat dan ook doen? Natuurlijk. En Huawei ging rond diezelfde periode, rond 2018, ook weer in de fout. Huawei sjoemelde niet alleen met kloksnelheden van de soc; het voorzag reviewexemplaren ook van snellere opslag.
Dit zijn allemaal fabrikanten, maar de makers van de socs zullen zich niet inlaten met dit soort praktijken, toch? Nou nee, MediaTek leverde een verborgen 'sportmodus' die zorgde voor een boost in benchmarkresultaten. En het schaamde zich er niet voor. MediaTek bevestigt min of meer de bevindingen in een reactie aan Anandtech. De fabrikant zegt 'geaccepteerde industriestandaarden' te volgen op dit gebied. "We geloven dat het laten zien van de volledige capaciteiten van een chipset in benchmarks in lijn ligt met de praktijken van andere bedrijven en we geloven dat het consumenten een goede afspiegeling geeft van de prestaties van het apparaat."
Het meest recente voorbeeld van het anders behandelen van benchmarks is de OnePlus 9 Pro vorig jaar. Om de accu te sparen, mochten veel populaire apps alleen gebruikmaken van de zuinigere processorkernen van de Snapdragon 888-soc in de telefoon. Benchmarks konden wel de volledige prestaties laten zien. Met een update heette dat High Performance Mode in de instellingen en hadden gebruikers er controle over.
Waarom valsspelen loont
Vragen waarom fabrikanten proberen om de scores van benchmarks hoger uit te laten vallen, is hetzelfde als vragen waarom topsporters betrapt blijven worden op doping: als je niet wordt betrapt, loont het valsspelen.
Want hoewel Tweakers synthetische benchmarks vrijwel helemaal links laat liggen en AnandTech vaak heeft geprobeerd om valsspelers te ontmaskeren, krijgen veel consumenten de resultaten wel onder ogen. Dat kan zijn omdat ze zelf die benchmarks draaien om hun oude telefoon te vergelijken met de nieuwe of omdat ze reviews hebben gezien waarin die benchmarks terugkomen.
Het is bovendien niet altijd makkelijk om iets vrij abstracts als een processor duidelijk voor het voetlicht te brengen. 'Een hogere kloksnelheid' of 'meer cores' staat aardig op de doos, maar wat als je nieuwe soc geen hogere snelheid heeft, maar een nieuwere microarchitectuur? Hoe leg je dat uit? Dat is geen makkelijke opgave en hogere benchmarkscores zijn dan heel welkom. Want als die niet hoger uitvallen dan bij voorgaande telefoons, dan staat dat slecht en lijkt het of de nieuwe soc geen verbetering geeft.
Daar komt bij dat er groepsdruk bestaat. MediaTek wijst niet voor niets op 'geaccepteerde industriestandaarden', terwijl Huawei en OnePlus beide een paar keer betrapt zijn op deze praktijken. Als jouw telefoon lager scoort dan die van een concurrent, dan kan dat uiteindelijk de verkopen schaden.
:strip_exif()/i/2001445819.jpeg?f=imagenormal)
Tot slot
De manier om valsspelen in benchmarks aan te pakken is volgens ons eenvoudig: de resultaten negeren. Dat is makkelijker gezegd dan gedaan, maar als er geen aandacht voor is, is er geen reden om ermee te sjoemelen.
Het is namelijk inherent schadelijk: de telefoon heeft andere prestaties in de dagelijkse praktijk, dan in de tests die moeten uitwijzen hoe de telefoon presteert in de dagelijkse praktijk. De benchmarks zijn dus simpelweg door de cheats geen afspiegeling van wat je van een telefoon kan verwachten.
Het patroon is altijd hetzelfde. Een fabrikant wordt betrapt en maakt het vervolgens een optionele functie in de instellingen van de telefoon. Dat lijkt nu ook te gaan gebeuren. Over een paar jaar gebeurt dit wellicht weer helemaal opnieuw.
Het is wrang dat juist marktleider Samsung nu betrapt is. Je zou verwachten dat je dit als gearriveerde partij niet meer nodig hebt. Wie gelooft nog dat Samsung de enige zou zijn die dit momenteel doet? Het toont aan dat, ondanks meerdere rondes van ontmaskeringen en excuses, het valsspelen in benchmarks nog altijd niet uit de smartphonemarkt is verdwenen.