(Just a FYI I am on the Office 365 License)
SharePoint Online is being used to host data which will be quite large, into the 10,000s where I understand SharePoint is suited to hold over a million rows of data.
PowerApps is being used as the front-end but it seems to just be riddled with performance issues. To contrast, I can and did link the SharePoint list to MS Access and built a form etc. in that, and it runs like a bullet. With PowerApps, every operation - from loading up an edit form to refreshing data - seems to vary from 5s to 20+ and this is unacceptable. It seems to have the same issues of the SharePoint Online website, with the 'new' experience taking forever to navigate, to load lists, etc. Why is this? The Classic Experience for viewing a SharePoint Online list runs much faster than the modern one.
On to delegation:
What is up with this? It is beyond frustrating to be limited to a 'Single line of text' or a date that may be delegated.
E.g. Filter(Source,Date=DatePicker.SelectedDate), this does not actually work and instead I have to do Filter(Source,Date=Text(DatePicker.SelectedDate,ShortDate)). This now correctly delegates (and its amazing!) from which I can then filter on several other ones, where I am confident I will not exceed the 500 record limit. But a calculated column cannot be delegated, nor can a choice column, why is this? It is a severe limitation that of my many rows, practically only one can (just about!) be delegated.
Am I correct to assume a big performance hit will be the need to download 500 records to perform the non-delegable filters? If this is the case, I will then need to create a new column of single line text, and look into setting up a Flow to fill this in with one of the choice fields, so that I may have this delegated.
I really appreciate the work going in to this, and I know the developers are not miracle workers, but I am looking at issues dating back to 2017 which seem to still not be solved.
Is there any feedback on this? I am storing results in collections to (try and) help speed things up, but it does not seem to be effective either.
The user is also using the forms on a Desktop - but it appears SharePoint and PowerApps are geared more toward Mobiles and Tablets? If this is the case, why was Access retired for this, and is Infopath a good alternative or is that also being retired?
And just as another question I'll throw out, is there any plan to expand upon formulas and what they can do? It would be great to be able to write some formulas and send those in, similar to VBA code, instead of needing to lump everything into one clumsy editor.
1 bump, then i will stop.
While here I will also add:
So Delegation doesn't really do much. I did make one combobox a single text and can now delegate it but it is just as slow as ever. To be expected I suppose with PowerApps' overall performance.
Another issue: Why does the RAM go up when I go from one screen to another, with the collections cleared? Even just refreshing the same data set again seems to have an increase in memory.
Thank you for your post. Specially for the detailed explanation. I agree 5 to 20 seconds is not acceptable.
How many lists i.e. datasources have you imported to your app? How many columns each list has?
In regards to your other questions about delegation:
SharePoint end points currently has some limitation on operations that it can accept for delegation, we are working on improving them. E.g. searching on lookup, and other data types.
Also, if your table has more than 5000 rows please make sure that you index columns that you are using in delegation; otherwise, SharePoint won't be able to filter them. See here.
You are correct that if a column cannot be delegated, you are going to get a better performance if you create another column that can help you with delegation. Usually 500 rows is not as bad performance wise, but you need more than that to get a meaningful result. Plus, your app will grow and very soon you pass the limit.
PowerApps works well on web. On the desktop, you can run your app on browsers. We are moving toward browser because it gives user more flexibility and mobility.
Could you please elaborate on this request please?
"And just as another question I'll throw out, is there any plan to expand upon formulas and what they can do? It would be great to be able to write some formulas and send those in, similar to VBA code, instead of needing to lump everything into one clumsy editor."
Why does the RAM go up when I go from one screen to another, with the collections cleared? Even just refreshing the same data set again seems to have an increase in memory.
Thank you for reporting this. We will follow up on this. Also, if you can share some session id with us, it would be great. Please try to index your columns, it might help with delegation perf. Also, if you give us session Id we can try to dig into it.
For the specific issue on the slow perfomant list, can you share a session id so we can investigate further? If possible please cover all the scenarios (load, edit, create) where you are experiencing latency. Instructions here: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/get-sessionid
Session ids are GUID identifiers that only has meaning at PowerApps telemetry database. No one else has access to the data related to session ids other than Microsoft employees with the correct permissions. If you are not comfortable sharing the session id in this public forum you can send it directly to me at email@example.com
To add to this, please note that even with session Id we cannot see your data. What we see is logs related to errors and technical functionality of PowerApps, We cannot even see your app logic. We do not log or store your personal data in our telemetry, and we don't have access to storages that has your personal data.
My Session ID is b71000b8-1d24-4461-a0e8-58116310c3a0
Thanks in advance for any assistance that can be offered. I am also happy to explain what is used where.
If an App ID is useful, I can send that too privately
While I am writing this, I might as well add this question:
Should PowerApps be of at least equal speed to MS Access with refreshing, loading forms, saving entries etc, and is it designed to be used for datasets with 1000s of entries? I am currently at 10,000 and this will increase by a few thousand a month. As I write this at home (on a good PC), my refresh via PowerApps is taking 14+ seconds to do. Surely it can be a lot faster than that?
Edit: When I ask about the speed compared to MS Access, I mean the MS Access database is linked to the same SharePoint list
My current list is around 700 and is really starting to suffer - and much worse performance for users outside of US. Taiwan performance for a US based sharepoint/powerapp is quite disappointing 😞