v4.0.0-rc.4Pre-release
Phaser v4.0.0 Release Candidate 4
Added 1
- Add BatchHandlerQuadSingle render node for optimized single quad rendering in filter processes
Changed 1
- BatchHandler render nodes now create their own WebGL data buffers with optimized sizes for batch performance
Fixed 4
- Fix lighting on rotated or filtered objects
- Add missing 'this' value for Group.forEach and StaticGroup.forEach
- Fix createFromTiles to handle multiple tilesets when using sprite sheets
- Fix audio files not loading from Base64 data URIs
Removed 3
- Remove WebGLRenderer#genericVertexBuffer and #genericVertexData to free 16MB of RAM and VRAM
- Remove BatchHandlerConfig#createOwnVertexBuffer type property
- Remove texture cropping support from TileSprite
From phaser
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