:

Szerző: Gálffy Csaba

2013. október 3. 12:04

Okostelefon-tesztek: majdnem minden gyártó csal

Látványos, akár 20 százalékot is meghaladó teljesítményelőny érhető el az energiamenedzsment lekapcsolásával - pontosan ezt teszik a mobilgyártók, ha benchmarkot észlelnek. A praktika széles körben elterjedt, nem csak a Samsung, hanem szinte az összes nagyobb gyártó alkalmazza. A Google és az Apple nem.

Minden nagyobb gyártó csal a processzorok energiamenedzsmentjével és maximális teljesítményre állítja az okostelefont, ha tesztalkalmazást lát - szűrhető le a következtetés az Anandtech körképéből. Az amerikai lap tesztje szerint a nagyobb gyártók közül csak a Motorola termékei (RAZR i és Moto X) és az NVIDIA Shield nem használ felismerő algoritmust a tesztek kiszűrésére és a Google-féle Nexusok is mentesek az ilyen praktikáktól.

A napokban futótűzként terjedt szét a médiában az információ, hogy a Samsung változatos termékei (Galaxy S4, Note 3, Tab3 10.1, Note 10.1) több benchmarkot is felismernek és "optimalizálják" a teljesítményt a legmagasabb pontszám érdekében. A Samsung azonban ezzek a gyakorlattal egyáltalán nincs egyedül, az LG G2 csúcsmodelje, a HTC One és One mini, az ASUS Padfone Infinity mind tartalmaz ilyen csalást, amellyel teszttől függően akár 20 százalékot meghaladó látszólagos teljesítményelőny is előidézhető.

A "támogatott" tesztek között a legnépszerűbb benchmark alkalmazások találhatóak, AnTuTu, AndEBench, Geekbench 3, Vellamo, a sor folytatható. A gyártók azonban nem tudják befolyásolni a böngészős JavaScript tesztek eredményét, azok mentesek ettől a csalástól. Sajnos ezek a tesztek sem megbízhatóak, a böngészőgyártók ugyanis a JavaScript-motorjukat optimalizálják előszeretettel a népszerűbb tesztekre (lásd például az Internet Explorer 9 és a SunSpider esetét).

A széles körben elterjedt gyakorlat ugyanakkor megmagyarázza, hogy a Nexusok miért teljesítenek mindig valamivel gyengébben, mint a többi gyártó azonos processzort használó termékei - a Google egyszerűen nem optimalizál külön a benchmarkokra, míg az összevetések többi szereplője, a változatos gyártóktól származó csúcsmodellek gyakorlatilag egységesen csalnak - az Android szabadon módosítható szoftvere teret enged az ilyen jellegű gyártói testreszabásnak is.

Válassz teljesítményhatárolót

Ma már minden processzorgyártó komplex energiagazdálkodási rendszert használ, amely a processzorok órajelét és feszültségét a terhelés függvényében változtatja. Ennek keretében a munkát nem végző magokat lekapcsolják, teljes üresjárat esetén pedig a teljes processzor is leállhat, gyorsítótárakkal, memóriavezérlővel, adatbuszokkal együtt. Az energiahatékonyságért azonban teljesítménnyel kell fizetni: minél mélyebben alszik a processzor, annál hosszabb időbe kerül felébreszteni, ez alatt az időszak alatt pedig nem érhető el a maximális sebesség.

A mobilos szegmensben ez sokkal látványosabban jelentkezik mint a noteszgépeknél vagy a szervereknél. Az okostelefonos és tabletes rendszerekben sokkal agresszívebb az energiamenedzsment, tehát tétlenség esetén sokkal gyorsabban leáll a hardver, míg számítási feladat alatt akár tizedmásodpercekbe is kerül, míg eléri a maximális teljesítményt. A gyártók ezt az energiamenedzsment által okozott teljesítményvesztést kerülik el a tesztek alatt azzal, hogy egyszerűen lekapcsolják a sebességhatárolót ("governor"). A listán található alkalmazást elindítva a rendszer maximális teljesítményű üzemmódba állítja a processzort, vagyis feltekeri az órajelet, így a tesztek alatt a legjobb arcát mutatja a termék.

A jók és rosszak listája (forrás: Anandtech) [+]

CI/CD-vel folytatódik az AWS hazai online meetup-sorozata!

A sorozat december 12-i, ötödik állomásán bemutatjuk az AWS CodeCatalyst platformot, és a nyílt forráskódú Daggert is.

CI/CD-vel folytatódik az AWS hazai online meetup-sorozata! A sorozat december 12-i, ötödik állomásán bemutatjuk az AWS CodeCatalyst platformot, és a nyílt forráskódú Daggert is.

Az Android alatt teljesítményhatároló scriptek határozzák meg, hogy adott terhelés mellett a processzor hány magot, milyen fogyasztás-órajel-teljesítmény futtasson. A gyártóknak szabad kezük van a teljesítményhatároló meghatározásában, teljesítményfókuszú governor magasabb fogyasztást (és alacsonyabb üzemidőt) jelent, cserébe a felület akadozása minimalizálható. Ellenkező esetben igen hosszú akkus üzemidő érhető el, a konzervatív governor azonban lassan ad "gázt", emiatt például görgetésnél szaggatás léphet fel. A "főzött rendszerek" (custom ROM) használatának egyik előnye, hogy a felhasználó maga választhatja meg a teljesítményhatárolót, igényeinek megfelelően.

Miért csalás?

Hardveres szemszögből nem kifogásolható a gyártók döntése: ha a processzor maximális sebessége a kérdés, akkor a sebességhatároló kiiktatása jogos döntés is lehet, az autók végsebességét is így mérik le például. Egyetlen ismert eset sincs, amikor a gyártó a gyakorlatban elérhetőnél magasabb órajelre tekerte volna a processzort. A teszt alatt mutatott teljesítmény azonban mégis elérhetetlen, működő határoló alatt ezek a lapkák egyszerűen nem tudnak ennyit. A maximálizált teljesítményű módban ugyanis egy mobillapka fogyasztása elképesztően magas lehet, sokszorosa annak, amit akár egy valós játék futtatása alatt mutatna, ezért a teszteken mért teljesítmény nem mutatja a felhasználó által mindennapi használatban elérhető sebességet.

Ütemezők Cyanogen alatt - szabad a választás

A szintetikus tesztek problémája hagyományosan az "optimalizálásra", csalásra való érzékenység. Ezt az előző évtizedben a GPU-s világ már megtanulta, egy magára valamit is adó szaklap ma már elsősorban játékok és valós GPGPU számítási feladatok alatt teszteli a termékeket, a szintetikus tesztek maximum érdekességként jelennek meg a cikkekben. A mobilos szegmensben azonban nagyon nehéz olyan laboratóriumi körülményeket teremteni, ahol a valós teljesítmények összehasonlíthatóak lennének (például a kijelzők eltérő felbontásai miatt), ezért jelenleg kényszerűségből a kívánatosnál magasabb arányban szerepelnek az ilyen benchmarkok a tesztekben.

November 25-26-án 6 alkalmas K8s security és 10 alkalmas, a Go és a cloud native szoftverfejlesztés alapjaiba bevezető képzéseket indítunk. Az élő képzések órái utólag is visszanézhetők, és munkaidő végén kezdődnek.

a címlapról