experience with performance II: Siemens S55/MC60

now the next device gives me a bad headache:
im testing on siemens mc60 and the performance is so inacceptable bad. now i have to find out, wheter theres a bootleneck in my code or if i cant expect more than that.

taking jbenchmark as source the performace of the mc60 shouldnt be much worse than the t610 (which i got to satisfacting results finally =)

hardest problem is the brutal delay of the keys. my game indicates a fps of 2-7 fps but the key often dont react at all.
even in the menu theres a delay of up to 3 seconds to the gui.

does anyone have some tips, experience !?

The S55 isn’t all that fast, but the small screen size helps it out abit (less to paint=less work) =D

Don’t realy have any tips specific to the s55 except the obvious 16k object size limit.
The key input latency could be caused by your render Thread never yielding correctly to allow even dispatch to run.

If you don’t have a yield/sleep/wait, add it.
yield is the ideal solution, sleep is often just as good, and Object.wait is a last resort if the other 2 don’t function correctly.

im using yield() by default …

but i have some more information.
my game is a little board game with one big bg-image, two sprites for computer/player and now the interesting part:
the stones (game-elements).

my first attemp to write the game was to have a little sprite for each stone (they can be moved). the images is nothing more than a 4x3 non transparent png. there can be up to about 50 stones in a game.
this seems to be too much work for the siemens.
i really thought that i could do it this way, cause the t610 does not have any problems with painting much little things.
next try was to replace the images with drawing-instructions (a rectangle border with a filling color)
=> too much …

only if i draw them as a simple point or line the performance is good enough to play.

yeah, drawImage calls do have a pretty hefty cost on early siemens phones. (compared to th T610 which is pretty damn quick if you keep within th video mem. limit)

now the point is nearly reached, where j2me adapting for siemens doesnt make fun anymore:
a new device has arrrived, the CX65, a midp2 compatible device, with more power than the s55.
i was very keen on results for my game and …
its horrible. same problems, slow reaction of buttons and in long intervals a beep-sound. i noticed this beep on other siemens devices but rather at random time.
and i dunno, why that freaky thing beeps.

tomorrow ill try to replace the images with the siemens-sprite
class in endless hope to get better performance.

btw:
i wanted to use the com.siemens…ui.image class instead of the javax-one. but the drawImage() method (javax) doesnt like the siemens class. so i expected that siemens has an own Graphics class for drawing siemens-images.
but i didnt find any.
how do i draw siemens images !?