Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Performance Tests of v0.99.0

Environment:

  • using DisplayLink director
  • iPod Touch 2nd gen
  • firmware SDK 3.1.2 GM
  • cocos2d for iPhone v0.99.0
  • cocos2d compiled in Release mode, using unroll loops optimization

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 4-bit texture (PVRTC)
  4. QuadParticle System using a 32-bit texture (PNG)
  5. QuadParticle System using a 16-bit texture (PNG)
  6. QuadParticle System using a 4-bit texture (PVRTC)

Results

1000 particles
1 2 3 4 5 6
A60 60 60 60 60 60
B60 60 60 60 60 60
C~27~27~45~25~27~45
D~10~10~15~10~10~15
1500 particles
1 2 3 4 5 6
A60 60 60 60 60 60
B60 60 60 60 60 60
C~18~20~32~18~20~32
D~7 ~7 ~10~7 ~7 ~10
2000 particles
1 2 3 4 5 6
A60 60 60 60 60 60
B60 60 60 ~5860 60
C~15~15~24~15~15~24
D~5 ~5 ~8 ~5 ~5 ~8
2500 particles
1 2 3 4 5 6
A60 60 60 ~59~5960
B~43~4560 ~42~4460
C~12~12~20~12~12~20
D~4 ~4 ~6 ~4 ~4 ~6

Analysis

Tests B with 2000 and 2500 particles are faster than v0.9beta. So, it seems that the particle engine is a little bit faster than previous versions.

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 the screen
  • 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 screen
  • 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. 1 batched sprite of 52×139 pixels. 4-bit texture
  5. 14 sprites of 85 x 121 each. 32-bit texture
  6. 14 batched sprites of 85 x 121 each. 32-bit texture
  7. 14 batched sprites of 85 x 121 each. 16-bit texture
  8. 14 batched sprites of 85×121 each. 4-bit texture
  9. 64 sprites of 32×32 each . 32-bit Texture
  10. 64 batched sprites of 32×32 each. 32-bit Texture
  11. 64 batched sprites of 32×32 each. 16-bit Texture
  12. 64 batched sprites of 32×32 each. 4-bit texture

Results

250 sprites
1 2 3 4 5 6 7 8 9 10 11 12
A~16~17~20~22~11~12~13~1660 60 60 60
B~16~17~20~21~12~13~15~1760 60 60 60
C~16~17~18~21~12~12~13~1560 60 60 60
D60 60 60 60 ~6060 60 60 ~6060 60 60
E60 60 60 60 ~44~48~5160 ~6060 60 60
F~22~24~25~30~17~17~20~22~5260 60 60
G~4860 60 60 ~4360 60 60 ~5460 60 60
450 sprites
1 2 3 4 5 6 7 8 9 10 11 12
A~9 ~9 ~10~13~6 ~7 ~7 ~8 ~44~45~5160
B~9 ~9 ~10~13~6 ~6 ~7 ~8 ~42~43~50~55
C~8 ~8 ~9 ~11~6 ~6 ~6 ~8 ~39~42~44~51
D~4560 60 60 ~4460 60 60 ~5360 60 60
E~37~41~45~55~25~27~32~37~5160 60 60
F~13~15~15~17~10~10~11~13~3260 60 60
G~29~50~51~60~27~40~45~50~3460 60 60
1000 sprites
1 2 3 4 5 6 7 8 9 10 11 12
A ~22~24~26~32
B ~21~21~25~30
C ~20~21~21~25
D ~2760 60 60
E ~2660 60 60
F ~15~33~35~38
G ~16~45~45~45
1500 sprites
1 2 3 4 5 6 7 8 9 10 11 12
A ~15~17~18~21
B ~14~16~18~20
C ~13~14~16~18
D ~1860 60 60
E ~1860 60 60
F ~10 ~23~24~27
G ~11~31~31~32

Analysis

Standard sprite (non spritesheets) tests seems to be faster than v0.8.2 probably due to:

  • transformation is performed using a cached matrix
  • less context GL switches

SpriteSheet tets seems to perform at the same speed as v0.8.2

The GPU/CPU behaves weirdly. Sometimes it performs as fast as v0.8.2, and sometimes it performs 10% or 15% slower, specially with the action tests. I'm not sure why.

perf_test/0_99_0.txt · Last modified: 2010/12/09 12:57 by admin
Trace: generic 0_8 0_8_2 index 0_99_0
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0