melonJS Performance Benchmark

with the last 15.3.0 version, we are now able to render 15’000 sprites at 60 fps, which is now at least double the performance compared to the 14.4 version few months ago :

(M1 Max / Chrome) 14.4.0 14.5.0 15.0.0 15.3.0
Stroke (circle) 500 op/s 60 fps 60 fps 60 fps 60 fps
1000 op/s 60 fps 60 fps 60 fps 60 fps
2500 op/s 31 fps 48 fps 60 fps 60 fps
5000 op/s 14 fps 22 fps 32 fps 37 fps
10000 op/s 8 fps 10 fps 16 fps 16 fps
15000 op/s 5 fps 7 fps 10 fps 11 fps
Stroke (rect) 500 op/s 60 fps 60 fps 60 fps 60 fps
1000 op/s 60 fps 60 fps 60 fps 60 fps
2500 op/s 60 fps 60 fps 60 fps 60 fps
5000 op/s 37 fps 40 fps 60 fps 60 fps
10000 op/s 15 fps 18 fps 60 fps 60 fps
15000 op/s 10 fps 10 fps 60 fps 60 fps
Fill (circle) 500 op/s 45 fps 60 fps 60 fps 60 fps
1000 op/s 21 fps 30 fps 32 fps 32 fps
2500 op/s 9 fps 12 fps 12 fps 12 fps
5000 op/s 4 fps 6 fps 6 fps 6 fps
10000 op/s 3 fps 4 fps 4 fps 4 fps
15000 op/s 2 fps 2 fps 3 fps 3 fps
Fill (rect) 500 op/s 60 fps 60 fps 60 fps 60 fps
1000 op/s 60 fps 60 fps 60 fps 60 fps
2500 op/s 33 fps 35 fps 60 fps 60 fps
5000 op/s 15 fps 16 fps 60 fps 60 fps
10000 op/s 6 fps 6 fps 32 fps 32 fps
15000 op/s 4 fps 4 fps 21 fps 21 fps
Sprite 500 op/s 60 fps 60 fps 60 fps 60 fps
1000 op/s 60 fps 60 fps 60 fps 60 fps
2500 op/s 60 fps 60 fps 60 fps 60 fps
5000 op/s 60 fps 60 fps 60 fps 60 fps
10000 op/s 50 fps 60 fps 60 fps 60 fps
15000 op/s 30 fps 37 fps 37 fps 60 fps
Perf Inc
Stroke (circle) 10000 op/s n/a 25% 53% 39%
Stroke (rect) 10000 op/s n/a 15% 75% 71%
Fill (circle) 10000 op/s n/a 25% 25% 0%
Fill (rect) 10000 op/s n/a 3% 81% 81%
Sprite 10000 op/s n/a 17% 17% 0%
Sprite 15000 op/s n/a 19% 19% 38%