Zorgt de instelling 'GPU-rendering afdwingen' voor meer of minder accu-gebruik? (Android 4.)

Onder 'Opties voor ontwikkelaars' zit deze optie:
"GPU-rendering afdwingen
2D-hardwareversnelling gebruiken in applicaties"
Deze optie staat standaard uit.

Als ze bedoelen dat er ook 3D-rendering bestaat en dat die anders gebruikt zou worden, lijkt het me dat er minder accu gebruikt zou worden als ik deze instelling zou activeren. Maar ik weet niet of ze dat bedoelen...

Weet jij het antwoord?

/2500

Het beste antwoord

Ze bedoelen niet dat er ook 3D-rendering bestaat. Het heeft te maken met de manier van het opbouwen van het beeld. Ik zal het op zijn janboerenfluitjes proberen uit te leggen. Om grafische omgevingen tevoorschijn te toveren moeten er veel berekeningen worden gedaan. Je kent vast van de middelbare school nog wel het rekenen met goniometrische functies zoals de sinus en de cosinus. Dit gebruikte je om verschillende hoeken uit te rekenen. Als je in een game bent dan moet je telefoon uitrekenen hoe de virtuele omgeving er vanuit jouw gezichtspunt uit zou zien, hiervoor moeten er heel veel hoeken precies worden uitgerekend. In de implementatie wordt dit meestal gedaan door matrixtransformaties met complexe getallen. Dit kan op twee manieren. 1. Softwarematig. In de software kun je routines inprogrammeren die de gewone processor (CPU) gebruiken om de grafische berekeningen te maken. Je zet dan de matrixberekeningen om in gewone scalaire berekeningen, hierdoor explodeert het aantal berekeningen. 2. Hardwarematig. Als je een GPU (Grafische processor) hebt dan zitten de matrixtransformaties al in de chip gebakken. Deze chips zijn speciaal toegerust om te rekenen met matrices en vectoren. Met methode 2 omzeil je de softwarelaag die ervoor zorgt dat de matrixtransformaties worden omgezet in scalaire berekeningen. Daardoor heb je sneller resultaat (hogere framerate) en gebruik je minder energie. Echter, het op de juiste manier programmeren van de lineaire algebra voor zo'n GPU is een vak apart dat door veel softwareontwikkelaars niet wordt beheerst. Zij gebruiken dus methode 1 om grafische omgevingen tevoorschijn te toveren. De optie is ingebouwd in Android zodat je als ontwikkelaar je app kunt dwingen de hardwarerendering te gebruiken om deze te testen. Het antwoord is dus: nee, er is geen 3D rendering als alternatief en het hardwarematig renderen kost doorgaans minder stroom dan softwarematig renderen. Echter, sommige applicaties kunnen niet hardwarematig renderen en zullen dus niet meer werken als je de optie 'GPU-rendering afdwingen' aan zet. Ditzelfde debat is overigens een van de redenen dat Apple-apparaten geen Flash ondersteunen. Flash doet uitsluitend software-rendering en is dus zeer veeleisend voor de batterij.

Stel zelf een vraag

Ben je op zoek naar het antwoord op die ene vraag die je misschien al tijden achtervolgt?

/100