web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Inexplicably bad perfo...
Power Apps
Suggested Answer

Inexplicably bad performance issues on new app

(0) ShareShare
ReportReport
Posted on by 59
Hello all,
 
I have developed maybe 5 or 6 different power apps from scratch this year for various purposes, and have not had any performance issues thus far. I have used a variety of gallery, form setups, nested galleries, and usually have a lot of controls on each of my screens, yet encounter little to no issues until now.
 
Now, I have built a new app mid-way through creating it, I suddenly started getting atrocious performance issues to the point of barely being able to work. I tried switching browsers at first with a bit of success and then tried splitting the app into two separate screens, but am still getting outrageously bad issues when I publish and then play the app. It is manageable when I use the preview feature within the actual Power Apps edit screen, but actually playtesting the app has resulted on the second screen failing to load a gallery with only 4 items after like 5 minutes...
 
 
Now within the app checker it does give a performance warning for this page saying that it has too many controls, but I have received that same warning on other apps I have built and there is literally no noticeable performance drop-off, whereas this app appears to be quite unplayable.
 
The app does have a lot of controls but they are all fairly simple text and input controls that shouldn't be causing heavy load times. I have also built almost this exact accordion gallery setup in another app with no issues but this one is somehow causing enormous loading problems. Also, it seems to be the nested gallery which is the source of the anguish because even in the stuck loading state in the above screenshot, I am able to click the "+ New" and get an instant response from the page, whereas the gallery is stuck loading for eternity.
 
I am baffled by this because compared to other formulas I have used in other galleries, these ones are very short and simple...
 
First I have my outer accordion gallery which just holds the expandable button controls to expand and see the invoice list, and that has this formula in its Items field:
 
Sort(
    Filter(
        'Event Tracker',
        Event.Value = selectedEvent,
        Category.Value <> "Invoice"
    ),
    'Start Date',
    SortOrder.Ascending
)
 
Then, within that gallery there is a second gallery that lists all of the invoices corresponding to those dates/event parts and it just holds this formula:
 
Filter('Event Tracker',
    Category.Value = "Invoice",
    And(
        'Start Date' = Gallery1_1.Selected.'Start Date',
        Event.Value = Gallery1_1.Selected.Event.Value,
        'Event Part'.Value = Gallery1_1.Selected.'Event Part'.Value
    )
)
 
That is literally it... If anyone could help me understand what is happening here I would greatly appreciate it. Again, the performance seems to be tied to this inner gallery because on the first screen of the app (which is a calendar gallery setup where the user clicks on an Event on the calendar to bring them to this second screen which shows the details of that event) there are no performance drops - it's only when a user clicks the event button and navigates to this second screen that suddenly the performance grinds to a halt and the loading starts. My ability to play the other apps I have made has not been changed as well, so it's not an issue on my PC or anything.
 
Here is a view from inside the edit screen with all of the inner gallery's controls visible:
 
 
Then the rest of the screens contents as you can see are just a bunch of basic text / combobox / button controls:
 
Categories:
I have the same question (0)
  • WarrenBelz Profile Picture
    153,073 Most Valuable Professional on at
    Yes - that is highly process-intensive as you are doing lookups back to the data source for every record (plus the one in the primary gallery. Firstly, your Parent gallery has a Delegation issue with Not <>, do do this
    With(
       {
          _Data:
          Sort(
             Filter(
                'Event Tracker',
                Event.Value = selectedEvent
             ),   
             'Start Date',
             SortOrder.Ascending
          )
       },
       Filter(
          _Data,
          Category.Value <> "Invoice"
       )
    )
     
    The next issue is that for a Nested Gallery related to the Parent, you need to refer to ThisItem as below
    Filter(
       'Event Tracker',
       Category.Value = "Invoice"
       And(
          'Start Date' = ThisItem.'Start Date',
          Event.Value = ThisItem.Event.Value,
          'Event Part'.Value = ThisItem.'Event Part'.Value
       )
    )
     Try this for a start - also how many records are in your Event Tracker List  - specifically the numbers in the particular Event that are both Invoice and not Invoice. If the numbers in an event are never going to be over 500, there may be a much faster solution to this.
     
    Please ✅ Does this answer your question if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it a Like♥.
    Visit my blog Practical Power Apps    LinkedIn   
  • Suggested answer
    Power Platform 1919 Profile Picture
    1,890 on at
    Adding to @WarrenBelz answer,
     
    If you have less data, use collection and a column with nested table.
     
    Like how you use groupby function.
    So you don't have to do filter again and again 
  • WarrenBelz Profile Picture
    153,073 Most Valuable Professional on at
    That is where I was heading with the question on the 500 items, so I will elaborate.
     
    When selectedEvent is set, make a Collection
    ClearCollect(
       colEvent,
       Sort(
        Filter(
            'Event Tracker',
            Event.Value = selectedEvent
        ),
        'Start Date',
        SortOrder.Ascending
    )
    then your Parent Gallery filter
    Filter(
       colEvent,
       Category.Value <> "Invoice"
    )
    and the Nested Gallery
    Filter(
       colEvent,
       Category.Value = "Invoice"
       And(
          'Start Date' = ThisItem.'Start Date',
          'Event Part'.Value = ThisItem.'Event Part'.Value
       )
    )
     
    Please ✅ Does this answer your question if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it a Like♥.
    Visit my blog Practical Power Apps    LinkedIn   
  • WarrenBelz Profile Picture
    153,073 Most Valuable Professional on at
    A quick follow-up to see if you received the answer you needed.

    Please ✅ Does this answer your question if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it a Like♥.
    Visit my blog Practical Power Apps    LinkedIn   

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 721 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 320 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 268

Last 30 days Overall leaderboard