Flutter May 14, 2024

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

Critical Insight

Flutter 3.22 delivers massive rendering performance gains through WebAssembly and Impeller's Vulkan backend, with some animations now rendering 10x faster than before.

The shift from OpenGL to Vulkan-first on Android reveals an interesting strategic decision about where the Flutter team sees mobile graphics heading.

About This Article

Problem

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.

Solution

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.

Impact

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.

Recent from Flutter

Related Articles