I am doing a 3D racing-game project. My 3D scene is really complex, and the emulator is too slow to encourage me from continuing.
In average, the scene render about 8000 polygons in 80 passes ( I called glDrawElements() 80 times to render them ). I use texture filtering GL_NEAREST, nicest perspective correction. I have pushed all vertices, indices, texture coords in buffer only once ( I used to rebuild them every frame, but it was far too slow ). The same thing written in C++ for Ngage was very fast.
The result frame rate is disappointingly 6-9 fps on emulator, running on a Dual Core 2x2.8Ghz, 1Gb RAM, GeForce 7300 GT 256Mb.
I suspect that because the emulator also emulates Linux, performance is bad. But I am not sure about it.
I am just wondering if there is a way to render 8000 triangles in 80 passes quickly in Android, or it is just the limit for the system. I also wonder if the emulator is truly slow, or there is some way to tweak it. And lastly, I wonder how fast will the real hardware be.
Please help.
Thanks in advance.





Your reply is appreciated.


Actually, it was quite my fault to get the scene over-complexed. However, after analysing further, I was able to get the game up to 10fps, quite reasonable for a worst case, though the company is targeting high-end phones.
So, now I have extremely complicated Java-code, using glReadPixel() (this is not recommended in OpenGL programming at all), and must spend 