Cross-platform framework Flutter 3.13 accelerates with new rendering engine

Google has released version 3.13 of its open-source cross-platform framework Flutter, which received 724 pull requests. The new minor version 3.1 of the programming language Dart is also included in the release with minor changes. Flutter 3.13 continues work on the introduction of Material Design 3 and will standardize the design system in the next stable release – this affects the colors, text styles and other visual elements in applications. Flutter also increases rendering performance and enables two-dimensional scrolling.

Advertisement

Impeller is Flutter’s new graphics rendering engine, succeeding Skia. Activated by default in iOS since the last release, Impeller is now available as a preview for macOS and has not yet reached preview status for Android, but can be activated there as an option.

In Flutter 3.13, the development team rolled out more performance updates on iOS. The renderer should now score with a lower latency as well as a higher average throughput in some benchmarks. In particular, the “Flutter Gallery Transitions Performance” benchmark is said to now have an average frame rasterization time of around half that of Skia.

The Flutter team shows this using the benchmark on an iPhone 11:



The new graphics rendering engine Impeller shows for the benchmark "Flutter Gallery Transitions Performance"  an improved average frame rasterization time on an iPhone 11 in the approximate period between Flutter versions 3.10 and 3.13.

The new graphics rendering engine Impeller shows an improved average frame rasterization time on an iPhone 11 in the approximate time between Flutter versions 3.10 and 3.13 for the “Flutter Gallery Transitions Performance” benchmark.

(Image: Google)

On the goals of the new rendering engine What counts is delivering predictable performance, for example by compiling all shaders and reflections offline at build time. Impeller is also portable, as Flutter doesn’t bind it to a specific client rendering API, and leverages features from modern APIs like Metal and Vulkan without depending on them.

Advertisement

Flutter now provides the basis for creating widgets that scroll in two dimensions. With that go some new classes like TwoDimensionalChildDelegate and the abstract base class TwoDimensionalScrollView along. This also opens up the possibility of scrolling diagonally.

The Flutter team shows an example of a two-dimensional grid using lazy loading in around 200 lines of code, implemented in the online dart editor DartPad. It can be scrolled horizontally, vertically and diagonally.

Android API levels 16, 17, and 18 are deprecated in Flutter 3.13. The current API level 34 for the upcoming Android 14 can already be used in Flutter. In preparation for iOS 17 and Xcode 15, developers should use Flutter 3.13. According to the Flutter team, when downloading Xcode 15, make sure to also download the iOS 17 simulator.

All other details about the new Flutter version has a detailed blog entry ready.

As the Dart development team explains, the first stable release since the main version 3.0 in May 2023 only brings minor innovations and few API changes. These affect the class modifiers introduced in version 3.0. The main focus in Dart 3.1 is to transition new roadmap items to beta or stable status within the upcoming releases. Therefore, the blog entry for the announcement does not refer to new dart features, but discusses functional-style programming in Dart. If you want to find out about the changes in Dart 3.1, can review the changelog.


(May)

To home page

source site