Kann mir jemand all diese Entwickleroptionen erklären?

14

Kann jemand diese Entwickleroptionen erklären?

  • GPU Rendering erzwingen
  • Deaktivieren Sie nicht rechteckige Clip-Operationen
  • Erzwinge 4X MSAA
  • Deaktivieren Sie HW-Überlagerungen

Welche möglichen Auswirkungen sind auf meinem Gerät zu sehen, wenn ich sie deaktiviere / aktiviere? [ Hinweis: Ich habe andere Optionen von Google-ing gefunden, aber nicht diese. ]

Beeinflussen die Entwicklereinstellungen die Akkulaufzeit, indem niedrigere Animationsgeschwindigkeiten (alles auf das Zweifache genau) oder höhere Animationsgeschwindigkeiten (auf das 0,5-Fache genau) auf Kosten der Benutzererfahrung verwendet werden?

MANI
quelle

Antworten:

17

Beachten Sie bitte, dass dies Entwickleroptionen sind , die möglicherweise nicht von Nutzen sind oder sich negativ auf die Leistung Ihres Geräts auswirken.

GPU Rendering erzwingen

Die GPU ist die Grafikverarbeitungseinheit. Es ist der CPU sehr ähnlich, aber anstatt Zahlen zu schreiben und Aufgaben für das Betriebssystem und die Hardware zu erledigen, gibt die GPU grafische Informationen aus und zeigt sie auf dem Bildschirm an.

Die CPU kann grafische Anweisungen einwandfrei verarbeiten. Dies kostet jedoch Zeit, um andere Berechnungen durchzuführen, und kann zu Verzögerungen führen, während grafische Anweisungen verarbeitet werden

Ab Ice Cream Sandwich können Entwickler (oder Power-User) Apps zwingen, das GPU-Rendering zu verwenden, unabhängig davon, ob dieses Bit im Manifest der App aktiviert oder deaktiviert ist. Dies macht die App nicht unbedingt schneller und kann Probleme verursachen.


Deaktivieren Sie nicht rechteckige Clip-Operationen

Das ist mir zu technisch, um es im Detail zu erklären. Grundsätzlich wird zum Zeichnen eine "Leinwand" verwendet. Der Quellcode für Android enthält Folgendes:

/**
     * Turn on to **debug non-rectangular clip operations**.
     *
     * Possible values:
     * "hide", to disable this debug mode
     * "highlight", highlight drawing commands tested against a non-rectangular clip
     * "stencil", renders the clip region on screen when set
     *
     * @hide
     */
    public static final String DEBUG_SHOW_NON_RECTANGULAR_CLIP_PROPERTY =
            "debug.hwui.show_non_rect_clip";

Sie können es deaktivieren, um ungewöhnliche (nicht rechteckige) Canvas-Bereiche zu erstellen. Weitere Einzelheiten hierzu finden Sie hier

Laut @ IanNi-Lewis weist in seinem Kommentar darauf hin:

Es ist wahrscheinlich erwähnenswert, dass "nicht rechteckige Clipbereiche" etwas irreführend sind. Es sollten "Clip-Bereiche sein, die keine am Bildschirm ausgerichteten Rechtecke sind". Wenn Sie einen rechteckigen Clip-Bereich haben, der um ein Nicht-Vielfaches von 90 Grad gedreht ist, verläuft er genauso langsam wie ein Clip-Bereich in der Form eines Donuts oder was auch immer. (Der "langsame Pfad" verwendet den Schablonenpuffer und muss wahrscheinlich nicht so langsam sein wie er ist; er ist ein guter Bereich für zukünftige Optimierungen.)


Erzwinge 4X MSAA

Force 4x MSAA erfordert kein gerootetes Gerät. Diese Option funktioniert genauso wie jeder Anti-Aliasing-Filter in PC-Spielen - glättet die gesamte Pixelung und sorgt für eine bessere Wiedergabe, was zu besser aussehenden Grafiken führt. Benutzer sollten wissen, dass diese Funktion nur für Geräte empfohlen wird, deren GPU native MSAA-Unterstützung unterstützt.

Aus Wikipedia :

In der Signalverarbeitung und verwandten Disziplinen ist Aliasing ein Effekt, der bewirkt, dass verschiedene Signale beim Abtasten nicht mehr voneinander zu unterscheiden sind (oder Aliase voneinander bilden). Es bezieht sich auch auf die Verzerrung oder das Artefakt, das entsteht, wenn sich das aus Samples rekonstruierte Signal vom ursprünglichen kontinuierlichen Signal unterscheidet.


Deaktivieren Sie HW-Überlagerungen

Ohne Hardware-Overlay kann jede Anwendung, die Dinge auf dem Bildschirm anzeigt, den Videospeicher gemeinsam nutzen und muss ständig auf Kollisionen und Übersteuerungen prüfen, um ein korrektes Bild zu rendern. Dies kann eine Menge Verarbeitungsleistung kosten. Mit einem Hardware-Overlay erhält jede Anwendung einen eigenen Teil des Videospeichers, sodass keine Kollisionen und Übersteuerungen mehr auftreten müssen.

Wie @DanHulme es ausdrückte: Windows in Android wird immer zusammengesetzt und nicht in einem gemeinsam genutzten Videospeicher gerendert. SurfaceFlingerVerwendet normalerweise die GPU für die Komposition, verwendet jedoch, wenn dies möglich ist, ein Hardware-Overlay, das schneller ist und weniger Akku verbraucht. Das Deaktivieren von Overlays bedeutet, dass immer GPU-Rendering verwendet wird. Dies ist nur zum Debuggen der Systemintegration oder zum Dekodieren von HW-Videos nützlich: Auch App-Entwickler müssen diese Option nicht aktivieren

RossC
quelle
2
4xMSAA ist möglicherweise nicht wirklich langsamer. Auf bestimmten GPUs wie Mali-400 ist der Geschwindigkeitsunterschied zwischen 4xMSAA und keinem Anti-Aliasing vernachlässigbar, da Fragment-Shader ausgeführt werden. Erwähnenswert ist auch, dass dies nur GLES-Anwendungen betrifft und Text und Symbole in normalen Apps nicht schärfer macht.
Dan Hulme
3
Ich denke nicht, dass Ihre Beschreibung der HW-Überlagerungen korrekt ist. Windows in Android wird immer zusammengesetzt und nicht in einen gemeinsam genutzten Videospeicher gerendert. SurfaceFlingerVerwendet normalerweise die GPU für die Komposition, verwendet jedoch, wenn dies möglich ist, ein Hardware-Overlay, das schneller ist und weniger Akku verbraucht. Das Deaktivieren von Overlays bedeutet, dass immer GPU-Rendering verwendet wird. Dies ist nur zum Debuggen der Systemintegration oder zum Dekodieren von HW-Videos nützlich: Auch App-Entwickler müssen diese Option nicht aktivieren.
Dan Hulme
Ich bin nicht an meinem PC, ich bearbeite, sobald ich kann, bin ein bisschen durcheinander. Oder
zögern Sie nicht
Die Aktualisierung zur Verwendung der GPU-Verarbeitung hat dazu geführt, dass die se-App bei dieser Frage nicht abstürzt :-)
Kanadier Luke
1
@Ross Ich glaube nicht, dass es einen großen Einfluss auf die Batterie hat, nur ein bisschen Batteriesparen wie in Windows, wo wir die transparente Grafik deaktivieren (das Aero-
Design