Read-only archive of the All About Symbian forum (2001–2013) · About this archive

Java games unplayable on N95

6 replies · 6,781 views · Started 10 March 2009

Just updated from a SE phone and first thing I noticed was that java based games run horriblely on the N95, there completely unplayable, it�s like there in slow motion in comparision.

Is this normal? I think I've read somewhere that SE based phones are better for java games but I never exacted the games to be unplayable.

Don't see that on my N95 or N95 8GB. And the N95 is on the top of the Java benchmark lists: http://www.jbenchmark.com/

As there are so many of them, perhaps you could tell us which Java games, exactly (name, version, source/origin) and what other applications you've installed

And uninstall any and all mobile virus scanners, if you have made the mistake of installing such a thing.

I also have the Nokia N95 8gig and have found no problem with any of the java games i have installed so far

Games i've tried,

Helistrike, 3DBurningTires, Galaxy On Fire, V Rally, Asphalt4, rally-master-pro an Soul Of Darkness .

All of them lag, there not running at fast as on SE phones thats for sure, maybe it's just because i've come stright from a k800i I'm noticing the difference.

Java is multi platform btw, shouldn't make much difference which phone your using, if they have the cpu power they should run fine, just read somewhere the N95 basically is running java through an emulator which would actually explain the crap performance.

N-Gage actually makes sence now.. :frown:

Shocky wrote:Java is multi platform btw, shouldn't make much difference which phone your using, if they have the cpu power they should run fine, just read somewhere the N95 basically is running java through an emulator which would actually explain the crap performance.
All the Java implementations are done so that there is a, so called, Java Virtual Machine (JVM) that runs the Java code. The Java programming tools translate the Java source code to what is called Java byte code. Then the Java VM interprets the Java byte code. Some Java implementations do some further optimization by compiling some parts of the byte code to native machine instructions to bypass the interpretation. But the whole point of Java is to provide hardware and native operating system independence and portability that way. So the whole concept of Java is about "emulating" virtual hardware and a virtual operating system, where Java programmers do not know or need to know what kind of hardware their programs run on. It is just supposed to work.

However, Sun's mantra for Java for "write once, run everywhere" turned out not to be true already about 15 years ago, when Java implementations started to diverge.

For example, Java game developers for phones may have to make hundreds of different versions of the games (or hundreds of little device specific tweaks to them) so that they work on multple devices.

And, again, the Java benchmarking site I linked to, clearly shows that the N95 is no dog as far as Java performance is concerned. If some Java game doesn't work properly, then it is more due to the game itself (how it has been written), than the device.

If you go to Gameloft's web site, and buy Asphalt4 again and choose the N95 as your phone model, you're likely to get a version that has been optimized for the N95. Same with the other games; if you got a version actually tuned/optimized for a different model, it might not work that well on another (despite the "promise" of Java's cross-platform portability and compatibilty and despite that technically and practically you can install almost any J2ME .jar file on almost any phone model).

That may be all well and true but at the end of the day, java is multiplatform, there not optimised for any one phone, yet it's nokia devices that need to most optimising for them to run properly due to the way they run java on the n95.