Starting iPhone development requires first the knowledge of the underlying hardware and what it can do for you. Here are the latest hardware specs I am aware of (a rumour was talking about iPods that run the CPU with 532 MHz ... I haven't found any evidence for this).
- GPU: PowerVR MBXLite with VGPLite with 103 Mhz
- ~DX8 hardware with vs_1_1 and ps_1_1 functionality
- Vertex shader is not exposed
- Pixel shader is programmed with texture combiners
- 16 MB VRAM – not mentioned anywhere
- CPU: ARM 1176 with 412 Mhz (can do 600 Mhz)
- VFP unit 128-bit Multimedia unit ~= SIMD unit
- 128 MB RAM; only 24 MB for apps allowed
- 320x480 px at 163 ppi screen
- LIS302DL, a 3-axis accelerometer with 412 Mhz (?) update rate
- Multi-Touch: up to five fingers
- PVRTC texture compression: color map 2-bit per pixel and normal map 4-bit per-pixel
I wonder how the 16 MB VRAM are handled. I assume that this is the place where the VBO and textures are stored. Regarding the max size of apps of 24 MB; I wonder what happens if an application generates geometry and textures dynamically ... when does the sandbox of the iPhone / iPod touch stop the application. I did not find any evidence for this.