Bad performance

Hey guys,

i got a strange situation,

when i run a project that support PC + Mobile (Android) my fps are: 60fps,
and when i run the same project code on mobile project only i got a: 6fps,

i think its related to JBullet,

I’d appreciate it if someone could help,
thanks…

What are you running it on and are you running it on the same thing in both cases?

1:10 is realistic for the performance ratio of a phone vs a pc eh? Do you undertake any action to adapt to the android environment? How do you use the engine at all? I guess before you can start to hunt down performance issues it would be wise to gain some more experience about the typical performance eaters and how you can avoid them. In plain words: Its your fault, others manage to. As its your code, you should know best…

jBullet is not recommended for mobile devices. Try to get native Bullet working, it works great in Block Basher.

Native bullet is used automatically for android if you use the SDK, if you’d use jbullet the performance would be below 1fps I guess ^^

First , thank u all !

I use the jme3 sdk ,
I want to create an android project only.

I need to know whitch libs that i must to includ in my libs folder ,
And how i use this “native bullet”,

One more thing … When i delete the jme3-jbullet libary the app crush and throw exception about createPhysics method…

Again thanks u all!

The exception igot when i remove the jme3-jbullet:
Java.langg.unsatisfiedLinkError : native method not found com.jme3.bullet.PhyisicsSpace.createPhysicsSpace…

You don’t have to fiddle with the libraries to use native bullet with Android. The build script automatically replaces jBullet with native bullet for Android deployment.

Just create a normal jME project and turn Android deployment on. Then it should work.

See this page:
https://wiki.jmonkeyengine.org/legacy/doku.php/jme3:android

When i do what u described i get a 60 fps and this is great , but i need android project ONLY , without desktop …

What do you mean with only on Android and without desktop? You always create the desktop project first and enable the Android deployment later. That’s just the way how it works.

Ok , i understand now that i cant use jme3 for android project without desktop…
Bummer :shit:
Thanks !!!

[java]
bulletAppState.setThreadingType(BulletAppState.ThreadingType.PARALLEL);
bulletAppState.getPhysicsSpace().setAccuracy(1f/20f);[/java]

I did not try to create Android app yet. But possibly it can get some fps. :slight_smile:

Why do you want to disable the desktop option (note: option). You will even come to like it because you can run your application and debug it without an android device or simulator. Also its the way to do it if you want to deploy to iOS later as well (which would be silly not to) ;).

U right normen , and i going to try mifth suggestion,

In my college i need to do an Android project as a final project,
So i must to do it without desktop option (thanks about the clue),
I really like jme and i want to use it…
I think that must be a way to make it work great ,

Thanks u all again i really appreciate yours help! :smiley:

You misunderstand. If you use the DK you still have a completely android-only part of the application. Its a normal android project created by the android project tool.

Ok thanks, so i got another question ,
If i want to show a splash screen while the simpleApplication init all the stuff and show the view of the game after that , how i do it?

Uknow what never mind i fiund a link with a good code that i can study from there how to control the simple application in android part ,
If someone need this info so this is the link:
http://hub.jmonkeyengine.org/forum/topic/restarting-jme3-from-androidharness-heap-size-in-android-4-0/
Thank u all for the help !