TRYING TO RAISE SOME ATTENTION FROM MICROSOFT HERE
... so please add a comment, if you face a similar issue.
Let's rally and make some noise!
When building large apps, Power Apps Studio (i.e. the editor) becomes insanely sluggish when the number of screens/controls increases.
I am currently building an canvas application with more than 100 screens, which works perfect in player-mode - but my ability to proceed with the development is heavily impeded poor performance in the editor (Power Apps Studio).
EXAMPLES OF PERFORMANCE ISSUES
To any Microsoft support staff reading this - you have a problem, which cuts off developers ability to build some serious apps, that actually can be used for more than just handle a simple process. Please fix this.
Many before me have raised this issue - here's 15 examples from a "Power Apps Studio Slow"-google search, where I only looked at the first 3 pages:
I have even raised a ticket to your support staff... to which the response was - "Try to delete some of your screens".
... c'mon - get in the game, please!
A possible solution would be the ability to suspend the App Checking (much like you can turn off automatic formula recalculation in large Excel sheets) - think I have previously seen that posted as an Idea.
I too suffer the speed issues described by the OP - I have only 7 screens but quite a few instances of the same small components on each screen. I agree with the above that suspending the app checking would make a huge difference to the editing experience.
I found the idea posted here so anyone who experiences the same, please vote:
@DennisTKuhn: You know nothing about the app that is being built - yet your first response is that I am not following the basic principles?
Point is still - everything works fine during run-time, but is horrible slow in the editor experience. You can't expect developers to unbundle all processes into mini-apps, with the intend of improving the "Developer experience" over "User experience".
I have the same issue and only have an app with 5 screens. I do have complex code in some controls where tables need to be filtered and transformed. When I want to add a new line to the code I often have to wait a full minute before any characters appear. It has come to the point where I am just writing it in Sublime Text and then copy-paste the code into the control. Then have to wait another 3 minutes before the app has actually taking note of the updated control.
But it gets worse. I would select a control and add the changes to the visible field, but in fact the app still has a different control selected. It would then add my changes to the wrong control! I have to then go figure out why my app is suddenly completely broken.
I understand why there are limits to control drawing, but if the answer will always be 'delete some screens from 5 to 3, or make your controls more simple', then I think we can agree Power Apps is really just the userform from Excel but beautified and accessible in the cloud. That has its merit too, but Power Apps would then not (yet) be suitable for serious app development for truly complex or critical business processes.
I have the same issue. I have one app, with one table, one screen, five columns, no data yet populated, and no biz logic built yet. I started this a few days ago. Came back to pick up where I left off and I cannot get anything to load. I switched off of using lists and power automate to build a power app and I have a powerless app. This is literally just an app to track training completion of a group of under 100 users. I am better off with a list at this point.
Its not even a question of complex apps, I've got a 4 Screen app, 2 of those screens with one control to back out showing static data, takes about 10 minutes to open, and god help me if i try adding a field to the input form or adjust code. I've taken to creating and editing forms/controls in a fresh empty app and then copying it into my existing one.
I am very glad about this thread and would really like to push it.
I am working on an App with about 10 screens and a lot of fancy components, where the most complex component is a data table which is able to be sorted, filtered and can do a lot of other fancy stuff. This is the way you build more sustainable apps in the PowerApps environment, otherwise there is code duplication over and over and over and over again.
BUT THIS WHOLE POWERAPPS DEVELOPMENT PROCESS IS REALLY GETTING ON MY NERVES.
To begin with, the studio gets slower the more components/screens are in the app, as the OP pointed out.
Also, the whole PowerApps development is like "Debugging? Is that a word? Can you eat that?". When there is an error, you often have to comment out code in many other places (which can take several minutes per comment until the studio catches up with the changes).
I think you can do waaaay better than that, Microsoft. You have to. How about a development environment where you can actually develop apps that are more complex than your average "Sharepoint List App"?
my app only have around 15 screens, tried with only one screen and same thing was happening, not a screen/components problem I guess (in my case at least)
I had the same issue while testing some changes into my data model(using sharepoint), my list ID was in around 6k something(even though i've removed almost all of them having only a couple of hundreds...
since i was in a dev enviroment, i've just droped the list and the problem went away... if your forethought is to have a lot of rows, maybe think into another solution...
I got to this solution by analysing the app monitor, sometimes a simple lookup will create thousands of lookups, so i think sharepoint/powerapps gets confused with indexes.
hopefully this will be a solution for some of you guys too. It is frustrating when the "IDE" and the published app gets so slow!
Studying for my medical degree while I wait for PowerApps. I'm almost a brain surgeon!!
The "Wait/Leave Page" option is my "Go do something else" alert. So I almost never do PowerApps,,, it's AAAAAAAAAAALLLLLLLLLLLLLLLLLLLLL wait time lately
It's been 30 minutes and I'm still waiting for my app to open in edit mode. I just moved it from one tenant to the another. In the "development" tenant, the app performs fine. Then I move it to the "test" tenant and it seizes up. This is the second app in as many months where I've experienced this. It is way worse in the afternoon (US central time). I am a consultant and it reflects very poorly on me when I can't even make the most minor updates in a timely fashion. In this tenant, every action is a maddening time suck!
I don't want links to articles about improving performance. I know what I'm doing and I follow these best practices. Let's just assume for a moment that in the MANY posts about this issue, that maybe Power Apps is the culprit. Microsoft, you need to take this seriously! You have an engaged base, actively using the tool that you promote, who are - in many cases - providing valid suggestions. Show some respect!!! For starters, acknowledge the issue. I know that will go a long way with me. Then deal with it. Engage a few of us users in that process if you want. I'm sure many would be willing to help.
Ok, now we're going on 45 minutes and still no open app... Microsoft, are you listening?
Is this App using Dataverse/D365 for the Datasource?
I have observed that if you have filters based on variables and those variables are not set, records will be returned up to the delegable limit. Say you select a 'Job' variable on one screen and on the next you filter for all 'JobProducts' relating to the Job. If the variable for 'Job' is not set (is null), the 'JobProducts' screen will return the first 500-2000 (depending on delegable limit) rows in the table.
If you have this pattern with many screens then when you open in Design mode (where all the screens are evaluated and records returned) this is going to be super slow, especially with Dataverse/D365 due to throttling/rate-limiting, general slow performance and very 'wide' tables with hundreds of columns including 'complex' types such as look-ups pulling in related data.
If this is the case you could try testing if the variable is not yet set and return Blank() rather than the filter/dataset in that case. This might help the time opening the App even though it is not a scenario you would ever experience in Play mode (where screens are loaded as needed, i.e. after the variables are set).
I have also noticed some bugs when using Option Sets that cause slowness or a complete freeze of the App. Typically this is where you set a value in a local collection based on an Option Set value (handy for off-line scenarios). Every time the Option Set is referenced (e.g. for every record returned) Power Apps seems to poll Dataverse/D365 to get the 'list' of options (rather than polling once and caching). I have observed this cause Power Apps to crash/freeze in the browser, iOS and Android though the threshold (number of records/calls that result in the crash/freeze varies by platform). I would not be surprised if this poor implementation of Option Sets also causes performance issues in the Designer as well.
Just thoughts that you may want to look at to overcome this hurdle but I completely agree that this is something MS should be addressing as has been raised frequently over a long period. That said, I doubt it is high on their to-do list as they seem to focus on their core use-case of small, simple, short-lived apps.
Keep up to date with current events and community announcements in the Power Apps community.
A great place where you can stay up to date with community calls and interact with the speakers.
Check out the latest Community Blog from the community!