Performance Test on iOS Devices

Environment:
  • cocos2d-x version: edge version at 2011-04-22.
FPS:
  • FPS means Frames Per Second
  • The maximum FPS is 60 (Fastest possible speed)

Particle Tests

Tests

  • A particle size = 4 pixels
  • B particle size = 8 pixels
  • C particle size = 32 pixels
  • D particle size = 64 pixels

Subtests

  1. PointParticleSystem using a 32-bit texture (PNG)
  2. PointParticleSystem using a 16-bit texture (PNG)
  3. PointParticleSystem using a 8-bit texture (PNG)
  4. QuadParticleSystem using a 32-bit texture (PNG)
  5. QuadParticleSystem using a 16-bit texture (PNG)
  6. QuadParticleSystem using a 8-bit texture (PNG)

Results

1000 particles
ipod touch 3GS
1 2 3 4 5 6
A 60 60 60 60 60 60
B 60 60 60 60 60 60
C 43 43 43 60 60 60
D 14 14 14 35 37 34
1500 particles
ipod touch 3GS
1 2 3 4 5 6
A 60 60 60 60 60 60
B 60 60 60 60 60 60
C 31 31 31 48 60 48
D 10 10 10 25 26 25
2000 particles
ipod touch 3GS
1 2 3 4 5 6
A 60 60 60 60 60 60
B 60 60 60 60 60 60
C 24 24 24 40 50 39
D 8 8 8 19 20 19
2500 particles
ipod touch 3GS
1 2 3 4 5 6
A 60 60 60 60 60 60
B 60 60 60 52 60 52
C 20 20 20 33 42 33
D 6 6 6 16 17 16

Sprite Tests

Tests

  • A set randomly the position of the sprites. All the positions are inside of the screen
  • B set randomly the position / scale of the sprites. All the positions are inside of the screen
  • C set randomly the position / scale / rotation of the sprites. All the positions are inside of th
  • D All sprites are rendered outside the screen
  • E 80% of the sprites are positioned outside the screen. The other 20% is inside the screen
  • F Perform transform Scale and Rotate actions to all sprites. 100% of the sprites inside the scree
  • G Perform transform Scale and Rotate actions to all sprites. 20% of the sprites inside the screen

Subtests

  1. 1 sprite of 52×139 pixels. 32-bit texture
  2. 1 batched sprite of 52×139 pixels. 32-bit texture
  3. 1 batched sprite of 52×139 pixels. 16-bit texture
  4. 14 sprites of 85 x 121 each. 32-bit texture
  5. 14 batched sprites of 85 x 121 each. 32-bit texture
  6. 14 batched sprites of 85 x 121 each. 16-bit texture
  7. 64 sprites of 32×32 each . 32-bit Texture
  8. 64 batched sprites of 32×32 each. 32-bit Texture
  9. 64 batched sprites of 32×32 each. 16-bit Texture

Results

1000 sprites
ipod touch 3GS
1 2 3 4 5 6 7 8 9
A 11 14 20 7 10 14 21 48 60
B 10 13 17 6 10 12 21 50 60
C 9 12 16 6 8 12 21 44 54
D 21 60 60 21 60 60 21 60 60
E 21 55 60 21 38 55 21 60 60
F 11 14 21 8 10 15 17 48 60
G 18 56 60 18 40 50 17 60 60
1500 sprites
ipod touch 3GS
1 2 3 4 5 6 7 8 9
A 7 10 14 5 7 10 14 37 47
B 7 10 12 5 7 9 14 37 44
C 6 9 11 4 6 8 14 33 42
D 15 60 60 15 60 60 14 60 60
E 14 37 52 14 26 37 14 60 60
F 8 10 15 5 7 11 12 36 46
G 12 40 50 12 28 38 12 60 60

Children Node Test

ms: milliseconds, the lower the better.

Tests

  1. Test B: Iterate array of sprites using the C API
  2. Test C: Add %10 of the sprites in the spritesheet with different Z order
  3. Test D: Remove %10 of the sprites from the spritesheet with different Z order

Results

1500 sprites 2500 sprites
Device ipod touch 3GS ipod touch 3GS
B
C
D