@Andy: I don't know why networking is making fps down. I did not looked about it and don't even know networking enough to deal with that ...
About geometry limited, I actually don't know neither. I've start profiling the app and considering that I've change only very few things in the code appart from rendering, that's the part I was trying to improve (ie improving my own mess). I have not figured out weither it is GPU limited or CPU limited. On a laptop or desktop, I would have assume it is cpu limited. On a device such as iphone, I don't know so I've assumed the same.
Additionaly, I've started things using vertex arrays and IIRC :
- disabling alpha blending and/or texturing do have an impact on performance but not such a big improvement (max 20 to 30% fps more). I was using RGBA for texturing which is not the best choice for iphone as far as I understand apple documentation.
- memory usage was quite high, so I thought that avoiding duplicating data in both main memory and gpu memory is probably a good idea as well as avoiding copying all vertex data for each frame when basically most of the geometry is static. That's why I was trying to use vbo (again to clean up my own mess).
I've reinstall my comp system and was waiting for iphone OS 3 before reinstalling the whole thing (SDK and so on). I might be able to do it next week and provide you more inputs but I not 100% sure about that. That will depends on my work schedule.
@all:
I was feeling that first thing should be to switch armagetron rendering process from immediate mode to vbo (or vertex array if vbo's are not available as gl extension) before even trying to work on iphone port again and I was about to try that. That might be done keeping current immediate mode abstraction, buffering every gl calls between each glbegin and glend (like in this project
http://memo.tv/ofxmsashape3d) but it's probably not such a good way with vbo as you probably want to control the way vertices data is updated instead of fully rebuild the whole scene. That might be a project to work on openly instead of undercover as it follows opengl changes and is opengl 3 and (almost) opengles compliant ... But that's plenty of work and might broke portability on old hardware.