The quarterly Flutter stable release version 3.13 introduces improvements to Impeller, Flutter’s new graphics renderer, and adds new Engine APIs for foldable devices.
Impeller renderer on iOS optimizations have led to reduced latency, eliminating shader compilation issues and resulting in smoother performance. Additionally, some benchmarks show that Impeller now has improved average throughput, surpassing previous benchmarks. The average frame rasterization time in the flutter/gallery transitions performance benchmark has been halved compared to the Skia renderer.
In 3.10, Flutter announced that wide gamut colors were available under a flag when using Impeller. After hearing and addressing feedback from users, wide gamut colors are now the default on iOS when using Impeller.
Progress is being made on developing the Vulkan backend for Impeller, but it hasn’t reached a quality level suitable for an official preview, according to Flutter in a blog post that contains additional details. The goal is to ensure a high-quality initial experience with Impeller on Android, which is not yet achieved.
Plans are to potentially launch a preview period for Impeller on Android in a stable release later this year. Despite the lack of an Android preview, optimizations benefiting both OpenGL and Vulkan backends have been implemented in Impeller’s Hardware Abstraction Layer (HAL) over the past year. Notably, average frame rasterization times on Android have improved significantly in the flutter/gallery transitions performance benchmark. Ongoing work is dedicated to further enhancing the Android preview’s quality.
Also, Impeller for macOS is available in preview and users can test Impeller and enable it in their app by following the guidance on the Impeller page.
Flutter added a new API to retrieve various properties of a display. The new getter FlutterView.display returns a Display object. The Display object reports the physical size, the device pixel ratio, and the refresh rate of the display.
Also, when using TextField on iOS, users will automatically see an option to use the device camera to recognize characters and insert them into the field.