Phaser v4.0.0 Release Candidate 4
This update improves performance related to data buffer size, primarily affecting filters, including masks. A game that was bottlenecked by filters on mobile devices may experience speedups of 16x or more. A desktop system, or a scene with no filters, may be broadly unaffected, save for memory savings.
New Features
BatchHandlerQuadSinglerender node added.- This is just a copy of
BatchHandlerQuadwith space for 1 quad. - The rendering system uses this node internally for transferring images in some steps of the filter process.
- This is just a copy of
Changes
BatchHandlerrender nodes now create their own WebGL data buffers.- This uses around 5MB of RAM and VRAM in a basic game.
- Dedicated buffers are an optimum size for batch performance.
Removals
WebGLRenderer#genericVertexBufferand#genericVertexDataremoved.- This frees 16MB of RAM and VRAM.
BatchHandlerConfig#createOwnVertexBuffertype property removed.TileSpriteno longer supports texture cropping.
Fixes
- Lighting fixed on rotated or filtered objects.
- Added missing 'this' value for Group.forEach and StaticGroup.forEach (thanks @TadejZupancic)
- Fix
createFromTilesto handle multiple tilesets when using sprite sheets. Fix #7122 (thanks @vikerman) - Fix audio files not loading from Base64 data URIs (thanks @bagyoni)
Documentation / TypeScript Enhancements
Thanks to the following people:
@captain-something @DayKev @ixonstater