7.8
Genießen Sie Millionen der neuesten Android -Apps, Spiele, Musik, Filme, Fernsehen, Bücher, Zeitschriften und mehr. Jederzeit, überall, überall auf Ihren Geräten.
Diese App richtet sich an Entwickler oder alle, die neugierig auf Leistungsunterschiede zwischen OpenGL und Leinwand sind. Insbesondere misst es die Leistung von Zeichnen von 2D -Sprites mit OpenGL es 2.0 mit einer Mischung aus Java und C und Zeichnen von 2D -Sprites mit Canvas mit Java.
Wenn Sie einen Test ausgeführt haben, können Sie eine Benchmark -Analyse der Leistung sehen, indem Sie den Rückknopf des Geräts drücken.
Es ähnelt dem Sprite -Methode -Test von Chris Pruett, wird jedoch für OpenGL ES 2.0 aktualisiert. Sein Sprite -Methode -Test führt die veralteten ES 1.0 aus und ist auf Jelly Bean (wegen Trippple -Pufferung) unterbrochen.
Diese App funktioniert auf allen Geräten, die OpenGL ES 2.0 unterstützen.
Dies ist werbefrei und nagfrei.
Weitere Details:
Insbesondere misst diese App die Leistung von Zeichnen von 2D -Sprites mithilfe von OpenGL ES 2.0 mit einer Mischung aus Java und C und Zeichnen von 2D -Sprites mit Canvas mit Java misst.
Auf jedem Frame:
Die Hintergrundfarbe verschiebt sich leicht und pulsiert zwischen Rot und Weiß.
Jeder Sprite bewegt eine zufällige (Gaußsche) Menge. Wenn die Mitte eines Sprites über einen Rand des Bildschirms geht, bewegt sich der Sprite zu einem zufälligen Bildschirmort.
Der Canvas -Test verwendet eine SurfaceView und Canvas.DrawbitMap (). Alle Berechnungen erfolgen in Java (unter Verwendung von random.nextgaussian () und random.nextfloat ()) auf einem Float [].
Die OpenGL ES 2.0 -Tests verwenden eine GLSurfaceView in Java. Die Berechnung erfolgt in C (unter Verwendung von DRAND48 () und einem Inline -C -Äquivalent zu Javas Gaußschen Algorithmus) auf einem nativen Float []. Die Zeichnung erfolgt auch in C unter Verwendung von Gldrawarrays (GL_POINTS, ...). C (NDK) -Methoden werden von Java durch den JNI bezeichnet.
Alle Tests haben den identischen Overhead von Profiling -Operationen in Java.
Statistiken:
In den FPS -Informationen geht es darum, wenn Frames tatsächlich auf dem Bildschirm gepostet werden (technisch gesehen der Oberflächenfinger).
In den Zeichneninformationen geht es um die Zeit, die es benötigt, um die Zeichnungsbefehle im OpenGL -Test auszugeben (und GLFLUSH () + GLFINISH (). Es zählt nicht die Zeit, um Bildschirmpuffer tatsächlich umzudrehen.
Die Push -Informationen (nur VBO) sind ungefähr die Zeit, die benötigt wird, um die Scheitelpunktdaten in den GPU -Puffer zu schieben. Dies ist oft <0,5 ms (was auf 0,000S) pro Rahmen beträgt. Bei Verwendung des Nicht-VBO-OpenGL-Tests ist diese Zeit stattdessen im Wesentlichen in der Ziehzeit enthalten. In praktischen Anwendungen kann es länger dauern, Daten an die GPU zu bringen. Dieses Beispiel enthält nur ein VBO (oder ein Scheitelpunktarray) mit 2 Schwimmer pro Sprite. Praktische Anwendungen hätten mehr Daten (z. B. Größe und Texturinformationen).
In den Berechnungsinformationen geht es um die Zeit, die zur Berechnung der Hintergrundfarbe eines Rahmens und der neuen Position jedes Sprite benötigt wird. Wenn JIT aktiviert ist, ist die Berechnungszeit zwischen dem Java -Test (Canvas) und den nativen GL -Tests (Open GL) vergleichbar, aber mit deaktiviertes JIT erleidet Java eine signifikante Strafe.
March 14, 2025
March 14, 2025
March 14, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 12, 2025
March 12, 2025
March 12, 2025