Performance Benchmark
davidshimjs edited this page Jan 15, 2013
·
7 revisions
In order to measure performance of mobile javascript game engine, I have created a sample test case and this report. If you want to add any other game engine, you can create the test case using your engine. and then you can send me a pull request. You can also modify this report.
A Simple specification of the test case
- The Rabbit has a width of 129.4 pixel and a height of 165 pixel each frame. http://jindo.dev.naver.com/collie/img/small/yame_walk.png
- There are 100 rabbits walking right. (Moving, Sprite Animation)
- The Screen has a width of 320 pixel and a height of 480 pixel.
- They will be always displayed inside of the screen. (the range of horizontal position is from 0 to (320 - 129.4))
A simple rules for testing
- Select a fastest result.
- Each test are scored out of 100 points. When a test shows 60 FPS, It's scored 100 points.
- Round off to the nearest whole number.
Device | OS | Rendering Mode | FPS | Score |
---|---|---|---|---|
iPhone4 | iOS4 | DOM | 11.5 | 19 |
iPhone4 | iOS6 | Canvas | 36 | 60 |
Galaxy Note | Android 2.3 | Canvas | 10 | 17 |
Galaxy S3 | Android 4.1.1 | DOM | 39 | 65 |
161/400 |
Device | OS | Rendering Mode | FPS | Score |
---|---|---|---|---|
iPhone4 | iOS4 | Canvas | 3.4 | 6 |
iPhone4 | iOS6 | Canvas | 37.8 | 63 |
Galaxy Note | Android 2.3 | Canvas | 11.6 | 19 |
Galaxy S3 | Android 4.1.1 | Canvas | 20.3 | 34 |
122/400 |
Crafty rendered DOM in Android shows FPS higher than Canvas mode. but Canvas mode looks like faster than DOM mode.
Device | OS | Rendering Mode | FPS | Score |
---|---|---|---|---|
iPhone4 | iOS4 | DOM | 1 | 2 |
iPhone4 | iOS6 | Canvas | 1 | 2 |
Galaxy Note | Android 2.3 | Canvas | 6 | 10 |
Galaxy S3 | Android 4.1.1 | Canvas | 14 | 23 |
37/400 |
Device | OS | Rendering Mode | FPS | Score |
---|---|---|---|---|
iPhone4 | iOS4 | Canvas | 3.3 | 6 |
iPhone4 | iOS6 | Canvas | 27 | 45 |
Galaxy Note | Android 2.3 | Canvas | 9.6 | 16 |
Galaxy S3 | Android 4.1.1 | Canvas | 20 | 33 |
100/400 |
Device | OS | Rendering Mode | FPS | Score |
---|---|---|---|---|
iPhone4 | iOS4 | DOM | 3 | 5 |
iPhone4 | iOS6 | Canvas | 5 | 8 |
Galaxy Note | Android 2.3 | Canvas | 11 | 18 |
Galaxy S3 | Android 4.1.1 | Canvas | 10 | 17 |
48/400 |
Sprite.js can be rendered maximum 30 FPS because It supports frame skip with skipPaint
and disableUpdate
attributes.
Device | OS | Rendering Mode | FPS | Score |
---|---|---|---|---|
iPhone4 | iOS4 | Canvas | 4 | 7 |
iPhone4 | iOS6 | Canvas | 29 | 48 |
Galaxy Note | Android 2.3 | Canvas | 9.8 | 16 |
Galaxy S3 | Android 4.1.1 | Canvas | 12.5 | 21 |
92/400 |
Device | OS | Rendering Mode | FPS | Score |
---|---|---|---|---|
iPhone4 | iOS4 | DOM | 1 | 2 |
iPhone4 | iOS6 | DOM | 17.3 | 29 |
Galaxy Note | Android 2.3 | DOM | 20 | 33 |
Galaxy S3 | Android 4.1.1 | DOM | 6.2 | 10 |
74/400 | ||||
A Test with Galaxy Note is slower than with Galaxy S3. |