Hi, I'm working on a game which uses OpenGL 1.1 and Android 2.3
95% of the code is c/cpp code, which is run natively. That includes game logic loops and drawing. the remaining 5% of java code is for taking advantage of all kinds of services (open/hide soft keyboard, open browser, ad-views, game service components, etc..) I have a GLSurfaceView for drawing, and in onDrawFrame I call my native code which does all the game state updating and OpenGL drawing. On higher end devices, frame rate is good and rather stable, but on lower end devices (ZTE Blade, Wildfire S) FPS is very low (10-12). I had already given up on the idea that I could increase the fps to acceptable levels (20+), when I accidentally turned Method Profiling on from Eclipse. Suddenly, the game ran around 30fps and was smooth as any. I also managed to pull the same result by applying Debug.startMethodTracing() at my activity's onStart(). Anyone has any idea why doing MethodeTracing would increase the FPS so dramatically (or raise at all, to begin with)? First I thought that maybe it's about thread priorities, but no priorities were changed. The game has quite a few threads going on... one for draw/updating, one for event queue, android probably has it's internal thread for handling UI events, and then there's some threads from 3rd party application. Android SDK says that startMethodTracing would make VM run slower than usual. I gave my game loop/drawing thread a max priority, and that seemed to increase the FPS a little bit, but I'm still very far away form the magnificient results of startMethordTracing. The question is: what the heck does that thing do?? -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

