Developers Manual » Cocos2d-x » Optimizations » Benchmark Reports »
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¶
- PointParticleSystem using a 32-bit texture (PNG)
- PointParticleSystem using a 16-bit texture (PNG)
- PointParticleSystem using a 8-bit texture (PNG)
- QuadParticleSystem using a 32-bit texture (PNG)
- QuadParticleSystem using a 16-bit texture (PNG)
- 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 sprite of 52×139 pixels. 32-bit texture
- 1 batched sprite of 52×139 pixels. 32-bit texture
- 1 batched sprite of 52×139 pixels. 16-bit texture
- 14 sprites of 85 x 121 each. 32-bit texture
- 14 batched sprites of 85 x 121 each. 32-bit texture
- 14 batched sprites of 85 x 121 each. 16-bit texture
- 64 sprites of 32×32 each . 32-bit Texture
- 64 batched sprites of 32×32 each. 32-bit Texture
- 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¶
- Test B: Iterate array of sprites using the C API
- Test C: Add %10 of the sprites in the spritesheet with different Z order
- 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 |
|
|