Why and what next • The register


Google’s cross-platform Flutter app framework seems to have a thinking problem: In certain situations, Flutter desktop apps consume too much processing power.

How much is too much Try an extra six to ten percent CPU usage just to mimic the blinking of a cursor in the style of a native macOS app. That’s an improvement over that 100 percent CPU usage was reported in 2019 even though Flutter desktop app support was in alpha.

This would be a show stopper on mobile devices where users would not tolerate apps that cause their phones to go dark due to battery depletion. But energy efficiency hasn’t proven to be a common problem with Flutter Android and iOS builds lately, even though it has been something worrying how Flutter matured. The more pressing problem on mobile for Flutter developers is Still trying to reduce “jank” – delay introduced by shader compilation.

For desktop apps, especially on connected devices, excessive resource consumption is often tolerated as a compromise for developer / usability, as is the case with the ongoing lavish lifestyle many electron-based apps that use memory and CPU fairly generously.

But one of Flutter’s selling points is its ability to deliver smaller, more powerful apps than the Electron framework or similar cross-platform technologies.

FlutterFlow creates mobile apps for Android and iOS

An easy way to flutter? Custom functions improve the visual code builder, but developers can still get frustrated


Flutter provides developers with a range of tools for creating app builds that can run on Android, iOS, Windows, macOS or Linux, the web, and embedded devices from a single code base. It does this through strong on Skia. reliant, a graphics rendering engine written in C / C ++ that uses a device’s CPU or GPU to draw app interfaces on its own without relying on the platform’s native interface libraries.

But by handling compositing independently, Flutter has increased the challenge of writing resource-optimized code. Flutter’s lack of native libraries takes away some of the efficiencies available for native platform code.

Flutter became CPU control of the blinking cursor an open one GitHub Issue for over a year.

Since August 2020, Kaushik Iska, Senior Software Engineer at Google, called Flutter worked as expected and the Flutter team could consider improvements at a later date:

That later date has not yet arrived, but there are signs that it may be soon. A Google spokesman said The registry, “Flutter desktop support is still a work in progress, and it’s a little early to judge its performance.”

Indeed, Flutter is for the desktop still designated as beta software, and there is ample evidence of Google’s engineers improving performance over time.

Canonical: Flutter Now ‘the Default Choice for Future Desktop and Mobile Apps’


We were also told that the cursor problem does not reflect resource usage in other scenarios and that the Flutter team intends to fix or mitigate this at some point.

However, the revision needs to go beyond Flutter’s cursor control. There have been reports of excessive memory usage on Linux buildsthat need to be fixed in order for Flutter to be suitable for IoT scenarios. And there is Flutter’s practice of draw again each animated widget completely, as opposed to just parts of the screen that have changed – something that maybe soon be improved.

It is not easy to create a framework in which to rule them all. On the other hand, no native operating system code can be written either. ®

Source link


Leave A Reply