What's New in Flutter 3.22
Article Summary
Kevin Chisholm just dropped Flutter 3.22, and the performance numbers are wild. WebAssembly cuts frame rendering time by 3x in worst-case scenarios, while a Lottie animation that took 64ms now renders nearly 10x faster.
Flutter 3.22 brings WebAssembly to stable and introduces a feature-complete Vulkan backend for Impeller on Android. This release merged 1,595 pull requests and focuses heavily on graphics performance, rendering optimizations, and developer workflow improvements across iOS and Android.
Key Takeaways
- WebAssembly on stable: 2x average frame rendering improvement, 3x in worst cases
- Impeller's Vulkan backend now feature complete with Stencil-then-Cover rendering strategy
- iOS platform view GPU usage cut by 50%, frame times down 33%
- Blur performance nearly halved on both CPU and GPU across platforms
- Gradle Kotlin DSL support and predictive back gestures for Android
Flutter 3.22 delivers massive rendering performance gains through WebAssembly and Impeller's Vulkan backend, with some animations now rendering 10x faster than before.
About This Article
Flutter developers ran into shader compilation jank and performance issues when rendering complex paths like SVGs and Lottie animations. The raster thread was spending too much CPU time on tessellation calculations.
The Flutter team switched to the Stencil-then-Cover rendering strategy, which comes from OpenGL Redbook techniques. This moved path rendering work from the CPU to the GPU, letting the graphics processor handle the heavy tessellation lifting.
Lottie animations got about 10x faster raster times. Frame time dropped from 64ms to 6-7ms per frame on recent iPhones, and CPU usage went down overall.