You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,12 +20,12 @@ This is a sprite-based performance test that compares a set of Javascript-based
20
20
|[Two.js](https://github.com/jonobr1/two.js)||| A renderer agnostic two-dimensional drawing api for the web. | no |
21
21
|[Hilo](https://github.com/hiloteam/Hilo)||| A Cross-end HTML5 Game development solution developed by Alibaba Group | yes |
22
22
|[MelonJS](https://github.com/melonjs/melonjs)||| A fresh & lightweight javascript game engine. | yes |
23
+
|[LittleJS](https://github.com/KilledByAPixel/LittleJS)||| LittleJS is the tiny fast HTML5 game engine with many features and no dependencies. 🚂 Choo-Choo! | yes |
23
24
|[Kaboom](https://github.com/replit/kaboom) (deprecated) ||| 💥 JavaScript game library. | yes |
24
25
|[Excalibur](https://github.com/excaliburjs/Excalibur)||| 🎮 Your friendly TypeScript 2D game engine for the web 🗡️ | yes |
25
26
|[Kaplay](https://github.com/kaplayjs/kaplay)||| 🦖 A JavaScript/TypeScript Game Library that feels like a game. | yes |
26
27
|[Kontra](https://github.com/straker/kontra)||| A lightweight JavaScript gaming micro-library, optimized for js13kGames. | yes |
27
28
|[Litecanvas](https://github.com/litecanvas/game-engine)||| Lightweight (~4kb) HTML5 canvas 2D engine suitable for small games, prototypes, creative coding, etc. | yes |
28
-
|[LittleJS](https://github.com/KilledByAPixel/LittleJS)||| LittleJS is the tiny fast HTML5 game engine with many features and no dependencies. 🚂 Choo-Choo! | yes |
29
29
30
30
## Canvas and WebGL
31
31
@@ -49,14 +49,14 @@ It should be noted that being faster is not always preferable. Aside from perfor
49
49
50
50
Results of the benchmark on 10.000 sprites:
51
51
52
-
1.**Babylon.js**: [56 FPS] Babylon.js outperforms Three.js and has the best overall performance when it comes to rendering 2D sprites, despite being one of only two 3D engines in this benchmark - game engine. [(link)](https://shirajuki.js.org/js-game-rendering-benchmark/babylon.html?count=10000&type=sprite)
53
-
2.**Pixi.js**: [47 FPS] Good performance - rendering engine. [(link)](https://shirajuki.js.org/js-game-rendering-benchmark/pixi.html?count=10000&type=sprite)
54
-
3.**Phaser**: [43 FPS] The most popular library for HTML5 game development, and the performance demonstrates why. Overall, a good performance - game engine. [(link)](https://shirajuki.js.org/js-game-rendering-benchmark/phaser.html?count=10000&type=sprite)
52
+
1.**Babylon.js**: [56 FPS] Babylon.js outperforms all tested game engines and has the best overall performance when it comes to rendering 2D sprites, despite being one of only two 3D engines in this benchmark - game engine. [(link)](https://shirajuki.js.org/js-game-rendering-benchmark/babylon.html?count=10000&type=sprite)
53
+
2.**Pixi.js**: [47 FPS] Good performance overall - rendering engine. [(link)](https://shirajuki.js.org/js-game-rendering-benchmark/pixi.html?count=10000&type=sprite)
54
+
3.**Phaser**: [43 FPS] The most popular library for HTML5 game development, and the performance demonstrates why - game engine. [(link)](https://shirajuki.js.org/js-game-rendering-benchmark/phaser.html?count=10000&type=sprite)
55
55
56
56
Honourable mentions:
57
57
58
-
-**Kontra**: [60 FPS] To avoid frame rate issues, the game loop implementation of Kontra uses a time-based animation with a fixed dt. As a result, each update call is always guaranteed set to be 1/60 of a second. The update at 60 FPS in this case is not as smooth as in the other tests above, ranking it lower. - lightweight game engine. [(link)](https://shirajuki.js.org/js-game-rendering-benchmark/kontra.html?count=10000&type=sprite)
59
-
-**Kaboom**: [3 FPS] Despite being one of the slowest libraries in terms of performance, developing with Kaboom was the most enjoyable. The library is jam-packed with features that make development simple and enjoyable. It has a straightforward syntax, and the code is simple to read and understand. The documentation and examples are also among the best of any library - game engine. [(link)](https://shirajuki.js.org/js-game-rendering-benchmark/kaboom.html?count=10000&type=sprite)
58
+
-**Kontra**: [60 FPS] To avoid frame rate issues, the game loop implementation of Kontra uses a time-based animation with a fixed delta time (dt). As a result, each update call is always guaranteed set to be 1/60 of a second. The update at 60 FPS in this case is not as smooth as in the other tests above, ranking it lower - lightweight game engine. [(link)](https://shirajuki.js.org/js-game-rendering-benchmark/kontra.html?count=10000&type=sprite)
59
+
-**Kaboom / Kaplay**: [3 FPS] Despite being one of the slowest libraries in terms of performance, developing with Kaboom was the most enjoyable. The library is jam-packed with features that make development simple and enjoyable. It has a straightforward syntax, and the code is simple to read and understand. The documentation and examples are also among the best of any library - game engine. [(link)](https://shirajuki.js.org/js-game-rendering-benchmark/kaboom.html?count=10000&type=sprite)
60
60
61
61
The performance of the different libraries was measured by running a benchmark test on a computer with the following specifications:
0 commit comments