Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Performance Tests of v0.99.0-rc

Environment:

  • using DisplayLink director
  • iPod Touch 2nd gen
  • firmware SDK 3.1.2 GM
  • cocos2d for iPhone v0.99.0-rc
  • cocos2d compiled in Release mode

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 previos 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 PNG sprite of 52×139 pixels (32-bit texture)
  2. A PNG atlas of 1 sprite of 52×139 pixels (32-bit texture)
  3. A PNG atlas of 1 sprite of 52×139 pixels (16-bit texture)
  4. A PVRTC atlas of 1 sprite of 52×139 pixels (4-bit texture)
  5. 14 PNG sprites of 85 x 121 each (32-bit texture)
  6. 1 PNG atlas of 14 sprites of 85 x 121 each (32-bit texture)
  7. 1 PNG atlas of 14 sprites of 85 x 121 each (16-bit texture)
  8. 1 PVRTC atlas of 14 sprites of 85×121 each (4-bit texture)
  9. 64 PNG sprites of 32×32 each (32-bit Texture)
  10. 1 PNG atlas of 64 sprites of 32×32 each (32-bit Texture)
  11. 1 PNG atlas of 64 sprites of 32×32 each (16-bit Texture)
  12. 1 PVRTC atlas of 64 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~4860 60 60
G~4860 60 60 ~4360 60 60 ~5260 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 ~5160 60 60
E~37~41~45~55~25~27~32~37~4960 60 60
F~13~15~15~17~10~10~11~13~2960 60 60
G~29~50~51~60~27~40~45~50~3160 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 ~2660 60 60
E ~2560 60 60
F ~14~33~35~36
G ~15~36~38~38
1500 sprites
1 2 3 4 5 6 7 8 9 10 11 12
A ~13~17~18~21
B ~13~16~18~20
C ~10~14~16~18
D ~1560 60 60
E ~1460 60 60
F ~9 ~23~24~25
G ~10~26~27~26

Analysis

Pure sprite 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

Except for tests G10,G11,G12 with 1000 and 1500 sprites that perform slower, I would say much slower, like 20% slower. I'm still not sure why. It seems that it depends on the device. Sometimes it performs faster than v0.8.2, and sometimes like 20% slower.

perf_test/0_99_0_rc.txt · Last modified: 2010/02/01 00:09 by admin
Trace: 0_8_2 index 0_99_0 0_8 faq labels sfx_gfx sprites effects 0_99_0_rc
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