I'm running into an very annoying performance issue again and again.
Always when I add a listview with lets say 8 components (text, tags, buttons) within a list item container the app slows down significantly.
I have reduced the data source to just one single entry but it doesnt improve anymore. I cant barely edit my app anymore with fun - its a huge pain in the a**.
Please help me out - there must be 1. a way to solve it and 2. also others who experience the same issue??!
In general. I also find the list view quite a resource hog. I love it and want to use it more than I do but I have to suffice with a table just to keep the speed up.
When it comes to diagnosing performance issues, the most useful things you can share with us are an export of the app JSON, network HAR data, and a performance profile.
In the meantime, you may be able to alleviate some of these performance issues by disabling the "WidgetGrid" feature.
Out of curiosity, which version of the "List View" component are you using?
Thanks for sharing, @TomJaud! It looks like you're using the most recent version of the component and not the legacy one, which is good. Do you notice the same performance hit when interacting with the app as a user? Or is it largely limited to the editor experience?
Looking at your app, it's a little difficult to replicate the issue without connecting it to a data source. Which component is the primary culprit? Is it listView_plantListMobile? I almost wonder if the extensive filtering that you're doing in the "Data source" input is causing a bottleneck. Can you try breaking it out into a separate JS query or transformer? Or hard-coding a set of data just to see if the performance degradation persists?
Instead of writing out all of the JS code in the data source itself, I'd recommend writing out that logic in a JS query or transformer and then referencing it via the data source input.
Ah got it. I'm not sure that it would be significantly faster, but the idea is that simplifying the overall dependency graph of your app is one avenue for improving overall performance.
Thanks very much for your help so far and for the additional context @TomJaud! In order to make sure we are on the same page about this problem can you please provide an app export that includes placeholder data, or even better, a minimal repro for your issue?
Since the app you provided relies on queries against your database to exhibit the problematic behavior it's hard to be confident in our shared understanding of the problem.