Hi guys
I'm using Phaser for commercial work for over 2 years, but lately I was thinking more often about performance issues. I was always using canvas mode, because whenever I switched to webgl, performance would drop to unplayable level. So I've done couple of tests in compassion to pixi.js.
For test I'm loading 23 textures and creating sprites (+ webfont texts for 2nd test).
Results:
1st test: 23 textures, 100 sprites
WebGL:
Pixi.js 4.7.0 - 8 draw calls (198 calls)
Phaser 3.0 Beta 20 - 101 draw calls (409 calls)
Canvas:
Pixi.js 4.7.0 - 101 draw calls (409 calls)
Phaser 3.0 Beta 20 - 102 draw calls (810 calls)
2nd test: 23 textures, 100 sprites + 100 texts (sprite, text, sprite, text...)
WebGL:
Pixi.js - 14 draw calls (404 calls)
Phaser 3.0 Beta 20 - 201 draw calls (809 calls)
Canvas:
Pixi.js 4.7.0 - 165 draw calls (664 calls)
Phaser 3.0 Beta 20 - 202 draw calls (1710 calls)
Pixi.js is using automatic smart batching and as you can see, results are really amazing. Amazing to this point, that I'm considering switching to pixi.js all my commercial work.
Are there any plans to implementing similar solution in Phaser 3.0? I really love Phaser and new APIs are looking great, but this performance difference is a deal breaker for me.
much love!