View aus externem Thread neu zeichnen

Aber mit Millis müsste es ja so sein, das funktioniert aber nicht. Da wird immer 0 ausgegeben.


long delta = System.currentTimeMillis()-last;
last = System.currentTimeMillis();
FPS = 1000/delta;

[quote=Zombiepriester]FPS = 1000/delta;[/quote]Und was kommt bei 1000.0/delta?
Wär nicht das erste mal, dass jemand über den integer-downcast stolpert…

bye
TT

die FPS-Ausgaben sind:
7.02570989554271E-10
0.23057412958266083
1.1723329425556859
1.1098779134295227
1.4388489208633093

So wie ich das sehe läuft das Programm nicht so flüssig, wie es sollte, was auch durch die große Verzögerung beim zeichnen bestätigt wird. Nur warum läuft es so langsam ?

Um diese Frage zu beantworten müsste man den Programm Code kennen.

Das ist mein Projekt. Eine Kartenspiel App. Die PNG Dateien sollten in den Ordner res/drawable-hdpi im Android-Eclipse Projekt.

Schaut euch diesen Source-Code an und sagt mir, was eine so niedrige FPS-Zahl auslösen könnte.

Hallo, kümmert sich überhaupt noch jemand um dieses Thema?

In MainActivity sind viele String-Vergleiche mit “==” zu finden. Wäre equals hier nicht angebracht, oder geht bei Android auch “==”?

Zudem ist in MainActivity öfter mal ein Thread.sleep(50) zu finden. Das könnte im ungünstigen Fall ausbremsen.

MyView könnte man etwas schöner Strukturieren. Vielleicht löst es das Problem wenn es etwas übersichtlicher wird. Auf jedenfall wird es damit einfacher

Auch wenn ich das == bei Strings durch equals ersetze ändert sich nichts und die Threads.sleep kommen nur in der KartenlegeAnimation vor, die ja mit 50 ms verzögerung sein soll.