Android: Gibt es eine Möglichkeit, canvas.drawBitmap zu beschleunigen?

8

Einfache Frage, nicht sicher, ob es eine einfache Antwort gibt !!

Gibt es irgendetwas, was ich tun kann, um meine Oberflächenzeichnung zu beschleunigen?

Ich benutze so etwas:

%Vor%

Die Methode, die ich verwende, muss ungefähr 25 dieser Sprites auf dem Bildschirm zeichnen, also verwende ich eine for-Schleife, was bedeutet, dass sie 25 während eines Frames anzeigen muss.

Nun, das funktioniert auf den drei getesteten Handys einwandfrei, aber auf einem Tablet wird es langsamer. Ich habe alle anderen Zeichenmethoden auskommentiert und nur diesen hier gelassen und das verlangsamt definitiv das Spiel.

Gibt es irgendwelche klugen Tipps, die mir jemand geben kann, um das zu beschleunigen?

Ich weiß, dass der offene GL eine Möglichkeit ist, aber der Großteil des Spiels ist jetzt geschrieben, so dass ich jetzt wirklich keine drastischen Änderungen vornehmen will, wenn ich ihm helfen kann.

    
Zippy 30.01.2013, 22:38
quelle

1 Antwort

7

Wenn Sie Ihre SurfaceView auf Grafik mit geringerer Qualität einstellen

%Vor%

und laden Sie alle Bitmaps in der gleichen Konfiguration

%Vor%

Dies würde es schneller machen, außerdem müsstest du abhängig von der Rahmenverzögerung eine variable Bewegungsgeschwindigkeit der Sprites machen.

Aber selbst mit diesen Einstellungen wird ein Arcade-Spiel mit vielen Sprites auf einem Tablet nicht gut funktionieren. Daher habe ich Angst, wenn Sie ein richtiges Spiel verkaufen wollen, müssen Sie ein OpenGl-Framework erstellen oder Ready-made verwenden Einsen.

    
Lumis 30.01.2013, 23:03
quelle