I'm currently working on a game engine on Android using the NDK. I developed a graphic engine using OpenlGL ES 1. I have createe a scene to render with some big square (with no texture) in rotation. It works perfectly on a smartphone (Galaxy S with Android ICS). I have 60 FPS and it is very smooth and stable. However on my Asus transformer (Tegra 2, Honeycomb), performances are quite bad. The scene runs with only 44 FPS.
I have discovered that when I render multiples big surfaces the application is slow on the tablet and I really don't why since the size of a graphic element has no consequence on my side (without OpenGL rendering).
I tried my game engine on single thread and multi-thread mode and the result is exactly the same. I really don't know what is wrong with what I am doing since it works fine on the phone.
On the tablet eglSwapBuffers takes between 200 and 20,000 micro-second to render the scene. The 20,000 seems to be very high to render a scene with 3 rotating squares and a bunch of rectangle and texts (approximately 20).
On the smartphone the same function take only between 800 and 1,100 micro-second for the same scene.
The application is fully native with no Java on my Side (NativeActivity)