Warum ist "GPU-Rendering erzwingen" standardmäßig in den Entwickleroptionen deaktiviert?

12

Warum ist diese Funktion deaktiviert? Wenn ich es einschalte, werden viele Apps bissig und beeindruckend mit glatten Grafiken. Scheint, als wäre es schön, wenn es standardmäßig aktiviert wäre.

Der verlinkte Artikel in dieser Frage besagt, dass die Hardwarebeschleunigung bis 4.0 nicht standardmäßig war.

Ist die Option "GPU-Rendering erzwingen" dann auf Apps ausgerichtet, die API für 3.0 und niedriger verwenden?

trusktr
quelle

Antworten:

12

Als das GPU-Rendering zum ersten Mal hinzugefügt wurde, war es sehr unzuverlässig. Manchmal war es langsamer als das Rendern von Software, und es gab einige Arten von GUIs, mit denen es einfach nicht funktionieren konnte. Aus diesem Grund war es Sache des App-Entwicklers, seine App mit GPU-Rendering zu testen und eine Option im Manifest der App (an derselben Stelle, an der die Berechtigungen deklariert werden) festzulegen, um das GPU-Rendering für diese App zu aktivieren. Die Option bestand hauptsächlich darin, Entwicklern das Testen der Auswirkungen des GPU-Renderns auf ihre App zu erleichtern. Das macht Sinn, weil:

  1. Die meisten Benutzer wissen nicht, was GPU-Rendering ist, und wissen nicht, ob es für eine bestimmte App aktiviert oder deaktiviert sein soll. und
  2. Die Einstellung muss wirklich app-spezifisch und nicht geräteweit sein, da einige Apps bei aktiviertem GPU-Rendering einfach nicht funktionieren.

Mit der Weiterentwicklung von 4.0 wurde das GPU-Rendering zuverlässiger, so dass es zum Standard für alle Apps wurde: Es liegt nun an den Entwicklern, das GPU-Rendering explizit zu deaktivieren, wenn es ein Problem in ihrer App verursacht. (Das ist jetzt sehr selten.) Die Option "GPU-Rendering erzwingen" ist nur noch in Ausnahmefällen verfügbar und wird derzeit selbst von Entwicklern nur noch selten verwendet, da dies bereits die Standardeinstellung ist.

Dan Hulme
quelle
6

So zitieren Sie aus einem XDA-Beitrag :

Wenn Sie diese Einstellung in den Entwickleroptionen aktivieren, wird die Aufgabe des Renderns von Fensterkomponenten wie Schaltflächen, Text und komplexen 2D-Grafikberechnungen auf die GPU verlagert. Dies führt häufig zu einem viel schnelleren Rendern der Benutzeroberfläche einschließlich Animationen. Auf der einen Seite erzielen Sie auf jeden Fall eine bessere Bildrate (und damit ein flüssigeres Erlebnis) im gesamten System, aber möglicherweise verbrauchen Sie mehr Akku. Bei bestimmten Geräten verbraucht die GPU mehr Strom als die CPU. Daher kann es bei aktivierter Option zu einer Verkürzung der Akkulaufzeit um 5-15% kommen.

Ich würde empfehlen, diese Option auf Geräten mit schwächeren CPUs zu aktivieren, z. B. sollte dies auf Dual-Core-ARM-CPUs mit 1,4 GHz selten erforderlich sein.

Das Verschieben von UI-Rendering auf die GPU hat offensichtliche Vorteile, sodass die CPU andere wichtige Aufgaben wie Datenbank-E / A, Datenmanipulation, Layoutberechnungen und das Reagieren auf andere Benutzereingaben ausführen kann.

Es sollte jedoch dem Benutzer überlassen bleiben, ob er die Batterielebensdauer gegen die Leistung eintauschen möchte. UND, ich denke, die meisten Leute möchten, dass ihre Telefone länger halten und die Leistung auf einem akzeptablen Niveau bleibt.

geffchang
quelle
0

Es ist für Entwickler gedacht, um ihre Apps zu testen. Deshalb ist es standardmäßig nicht aktiviert.

Sameer
quelle