Performance Test on Android Devices

Environment:
  • Version of Android: 2.2.1
  • 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
HTC G7
1 2 3 4 5 6
A 60 60 60 60 60 60
B 60 60 60 60 60 60
C 35 35 35 33.5 33.5 33.5
D 14.5 14.5 14.5 14 14 14
1500 particles
HTC G7
1 2 3 4 5 6
A 60 60 60 60 60 60
B 60 60 60 60 60 60
C 28 28 27.5 26.5 26.5 26.5
D 10.4 10.4 10.4 10 10 10
2000 particles
HTC G7
1 2 3 4 5 6
A 58.5 58.5 58 52.5 52.5 52
B 58 58 58 52 51.5 51.5
C 22.8 22.8 23 21.5 21.5 21.8
D 8.2 8.2 8.2 7.8 7.8 7.8
2500 particles
HTC G7
1 2 3 4 5 6
A 52 51.5 52 45 45 45
B 51.5 52 51.5 43.5 43 43.5
C 19.5 19.5 19.5 18.3 18.5 18.5
D 6.7 6.7 6.7 6.4 6.4 6.4

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
HTC G7
1 2 3 4 5 6 7 8 9
A 7.5 8.7 8.5 5.7 6.3 6.2 11.2 32.5 32.5
B 6.4 6.7 7.0 4.8 5.0 5.3 11.5 28 28
C 6.2 6.9 6.8 4.6 4.9 5.0 11.5 27.5 27.5
D 13 60 60 11.5 60 60 11.5 60 60
E 13 30 30 11.5 23 24 11.7 60 60
F 10.5 12.5 13 8.1 9.5 9.5 10 40 41.5
G 11.7 36 38 10.5 32.5 33 10 51 53
1500 sprites
HTC G7
1 2 3 4 5 6 7 8 9
A 5.1 6.0 5.9 3.8 4.3 4.3 7.8 25 25
B 4.2 4.8 4.7 3.2 3.5 3.3 7.8 21 21.5
C 4.1 4.6 5.0 3.1 3.4 3.5 7.8 21 20.8
D 9.0 60 60 8.1 60 60 7.9 60 60
E 8.9 21.8 22.7 7.8 17.5 17.7 8.0 53 54
F 6.8 9.0 9.0 5.5 6.5 6.5 7.0 30 33
G 7.5 28.5 32 7.1 23.5 24.5 7.1 40 41

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 HTC G7 HTC G7
B 0.8 1.7
C 140 370
D 85 275