A question, In your most complicated PowerApps how many screans you have in a single PowerApp, How many datasources are connected? How many formulas roughly per screen and how you describe your PowerApp performance vs. these factors?
There's no simple answer to that question. If application users will run the app on older or lower end mobile devices then that will enforce harder limitations.
Generally, the number of screens and number of data sources used does not affect the performance directly. For example, if you have many screens but load them one-by-one (imagine a survey type app) then this will not affect the performance as hard as having lower number of screens but also having rules or formuals that affect multiple screens at the same time.
Same applies to the number of data sources. Having a large number of controls referencing different fields from a low number of sources may be worse than having a higher number of data sources, each referenced by data controls on a certain screen.
Generally, there many ways to optimize your application (such as use a shell app that loads other apps, or pre-load the data sources to collections) but I would suggest to start with a "Proof of Concept" and to evaluate the performance on target devices.
Hope that helps.
Hi @dinusc, thanks for answering.
So what is your recommendation in one of my scenarios: I have an SRM PowerApps that deals with +30 relational CDS entities, so there is a CDS connection and few others such as O365 users.
there are not much controls, not much formulas, but i have the challenge to deal with few entities those have +10,000 records.
Searching, Filtering them is, you know, a set back in performance in Canvas Apps. Model Driven is super, but it should not be the only solution I guess.
Do you suggest that i consider collection of +10000 records? or what is your advice?
My suggestion is to create a Proof of Concept (PoC) application that would emulate the intended funcionality in order to evaluate the performance. Dealing (Searching, Filtering and etc) with 10,000 (or 1M) entities is not an issue as long as you're not intending to load more that the maximum allowed records at a time (500 by default which can be increased to 2,000). You could bypass that limitation by loading the data in batches but hopefully you don't need to do that.
The most important thing to consider when creating the PoC is that you will be limited to using only delegable functions and operators for working with +10,000 records in CDS. Please see this page for more details.https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/delegation-list