FlutterFlow / flutterflow-issues

A community issue tracker for FlutterFlow.
125 stars 25 forks source link

Poor performance in Widget Tree and buggy behaviour #3486

Open SebyOnGitHub opened 3 months ago

SebyOnGitHub commented 3 months ago

Can we access your project?

Current Behavior

I have extracted a page from our software, which represents one of many of our pages from software we are building in FlutterFlow.

We have always noticed, that the selecting and hovering on the canvas is always fast and responsive, but not on the widget tree. The widget tree was always a bit slower, but as more and more widgets are getting added, the widget tree becomes very uncomfortable to use.

Expected Behavior

Same performance as the Canvas.

Steps to Reproduce

There are no exact steps to follow, it is only the number of widgets used that directly affects performance. Feel free to take a look at the project from the bug report code, which represents a typical page.

Reproducible from Blank

Bug Report Code (Required)

IT48iPHqw5JOxcdE7aqNc/lR/TkRJmk7bbgO08Fud0s8J5DaPOxzP/TBaldWUs+0d1Fqe06guHozzPfemvPhDO5cCyWaG916wZFXFwrNf3ynaLq2DJaeSG5/DexmfG6Z0J7QgB0nFOlvck4Q6lyyIt7LTXLsGKLMPjAnLfH9C5KK2SrDX1iXc2URm05KZDPz

Visual documentation

Here are two videos that illustrate the problem.

In the first video, you can see that the hover ist fast in the Canvas, but is slow in the Widget Tree. It takes a long time, and sometimes the hover state in the widget tree never really disappears. And even on the canvas there can be two different hover states (end of video). I don't think this is the expected behaviour:

https://github.com/user-attachments/assets/2bde6ae8-e71f-4d9b-8a94-4c7f5029dbe2

Here is a second video showing the same thing on a different shot:

https://github.com/user-attachments/assets/a8d92e46-2948-4755-9a70-e3267a1a5183

Environment

- FlutterFlow version: 4.1.77+ Synced
- Platform: FF on Windows and FF on Web/Chrome
- Browser name and version: Version 122.0.6261.129
- Operating system and version affected: Windows

Additional Information

It is quite difficult to work with this slow width tree, which is quite frustrating.

msusviela commented 3 months ago

I was able to replicate the issue and I'll send it to the ENG team so they can check on this. Thanks for filling in!

msusviela commented 3 months ago

A temporal fix for this while the team checks the issue would be to convert group of widgets into components. That can help the performance of the widget tree so it's not difficult to work with it.

SebyOnGitHub commented 3 months ago

Thanks for the review. I know components can help with performance a bit. This page is also just an example. We have many pages where we use components extensively, but it is not always helpful with performance. Pages can get really slow with a lot of widgets and components.