Cpu speed required

I am trying to compile a list of possible phones which my j2me application will run on(or should run on!) and have the jar sizes, heap memory etc. Can anyone give me some advice on how to best find out the minimum cpu speed that a phone would require to run my app as this is the final parameter that I require to finish my list of compatible phones?

Many thanks

I doubt that CPU speed will mean much. Since Java is an interpreted language, a phone with a reasonably fast CPU could have a badly implemented KVM and still get very poor performance (I’ve seen a couple of those). There could be other issues that affect performance as well (like graphics throughput).

shmoove

not an answer (sorry).
but ive also wondered many times why you cant get any informations about cpu speed (even if its just for fun).

That information is hard to find, because the manufacturers like to keep it under wraps.

shmoove

So the only way to do this would be test it on each individual phone to see how it runs ( I have heard the T610’s virtual machine is really slow and a lot of games developers swerve this phone?) or is there somewhere that i can find out the kvm speeds, I have looke at jbenchmark.com but i don’t know exactly what I should be looking for?

Apart from doing actual testing on every possible phone you can, jbenchmark is as good as you’ll get. Testing on the actual devices is actually very important because even on devices that have very high specs, weird obscure KVM bugs might cause your application to crash (Series 60 comes to mind).

shmoove

i really dont think theres any possibility to separate those speed parameters. you will not be able to know wheter the cpu has a bad architecture on calculating many integers or if the kvm is badly integrated (or whatever).
if you want to get specifications for your midlet theres no way
of naming concrete devices (with testing them…).

not only that you cant reach such informations, most devices have such unique and odd behaviours, that real-device testing is needed.

btw: t610 isnt really a good device, but siemens s55/mc60… these things can really set you up

As others have said, CPU speed doesn’t tell you what you need to know, as execution speed is also strongly affected by JVM type and its optimizations.

Also, game execution speed is strongly affected by the speed of different parts of the phone’s native graphics implementation. I remember one phone that was very fast unless you used Graphics.drawString, which was surprisingly slow. I had to produce a special version of my MIDlet just for that phone. (This reinforces what the others say: you should test on each phone model you claim to support, and in some cases even on each phone firmware version).

Speed will also be affected by screen size: if you’ve got more pixels to draw, it will naturally take longer. Big-screened devices like Nokia’s communicators typically suffer in benchmarks because of this.

I have came across http://www.futuremark.com/download/?spmark04.shtml that will help give the benchmarks for smartphones, but I guess this will be of no use for testing how fast the phone’s kvm might be. Looks like I will have to try and buy/borrow a lot of phones then!

http://www.jbenchmark.com/

have results on many phones using some java based 2d and 3d benchmarking programs.

yeah jbench isn’t such a great tool from a programmers perspective.
Unless ofcourse, theyre in need of some evidence why a particular device should never be the target for a port =)
(aka Samsung!)

And incase any1 missed that, Samsung has a monopoly on crap Java phones - if any1 ever asks you to port to a Samsung, just say no.

no, no, no. unless siemens wont disappear from the mobile world, their mainstream phones will rule the “land of terrible portings”.
and i really dont say that only because of some cruel screen reolutions (101x80 on s55 … my alarm clock can show more information)

O_o

Siemens phones arn’t that bad =|

A few peculiar bugs, broken sound, and not the fastest phones in the world - but atleast the emulators are fairly accurate.

hum?!

you like the real phone because of their good emulator support ? ::slight_smile:
if i had a kick-ass emulator for my toaster, there would still be the problem that it would only emulate my bad toaster.

i can only point to:

  • images size limit of 16k
  • i turned the handy three times, cause i thought only to discovered the front screen (101x80 !!!)
  • did you ever notice the main menu of mc60 ?
    theres the typicall 3x3 icon menu and you have a 4-way
    controller. guess what happens if you press left or right
  • sometimes i whish i had a crank to speed that damn devices up. they are not slow, they are horror, especially when managing more than 2 and a half sprite

[quote]hum?!

you like the real phone because of their good emulator support ? ::slight_smile:
[/quote]
As a development platform, yes, having an accurate emulator is good. (2nd only to having on-device debugging like the motorolas and sony ericssons)

[quote]i can only point to:

  • images size limit of 16k
    [/quote]
    Yup, I agree it can be a pain, however it only effects the early Siemens phones. The 65 series (m65, c65, cv65, s65 cx65 etc etc etc) do not suffer from this limitation.

[quote]- i turned the handy three times, cause i thought only to discovered the front screen (101x80 !!!)
[/quote]
again, the newer phones have more standard resolutions - 130x130, 130x176, etc etc.

[quote]- did you ever notice the main menu of mc60 ?
theres the typicall 3x3 icon menu and you have a 4-way
controller. guess what happens if you press left or right
[/quote]
Yeah, dumb isn’t it - the interface is pretty crap on the later phones too :expressionless:
However, its nothing when compared to the O2 X2/3/4 series, or the Sagems.

[quote]- sometimes i whish i had a crank to speed that damn devices up. they are not slow, they are horror, especially when managing more than 2 and a half sprite

[/quote]
Samsungs beat Siemens for slowness, no contest at all :slight_smile:

look at Jbench for proof :wink:

this can exhaust in a long discussion, but a main aspect is that i can only speak about the experiences i made with those few handies lying around here.
the sad thing for all developers is that those nice newer phone are not the one which are actually owned by the mass.

most people have still nokia40 and siemens 101x80px.
i have some newer siemens phones here (c65, cx65) with much more power than old s55 series. but i still have big problems with performance.
sure i saw other game which run smooth but it seems that theres a hint i didnt notice, cause my games run on other phones fine (but thats another topice )
:slight_smile:

back to device comparision:
i have one sagem here, the MyV-65, the performance isnt that bad (although its a little odd that it displays only 256 colors in java mode … ???)

oh, Sagem V65 is pretty quick… in Java.

The phones own UI is laggy, dog slow and bugged to **** =)

As for my favourite phone for both Java performance and phone UI, its gotta be the SonyEricsson K500 (non-vodafonized ofcourse!)

ahh ok, we talk about more than java performance. yes indeed sagem is a manufacturer which should build vacuum cleaner but no handies.
yes the k500 is a very fine device. i also liked the t610/t630 but not really for java issues.

naturally, i really like my own one:
the motorola v525 ! tadaaaa. not the fastest one but very nice. even with the bad and evil vodafon branding.

Wouldn’t it be nice if some benchmark could tell you the number of byte codes per second a device runs at? Then you would at least be able to set the emulator to run at that number of bytecodes per second and have some feel for how it will run on the device while you are developing the game.