cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
pmcgurn01
Advocate II
Advocate II

Gallery scrolling performance issues

I'm hoping there's some kind of planned performance improvement work on the gallery control, but posting this, in case there isn't.

 

At present, the gallery control is incredibly clunky/laggy when scrolling any faster than what I'd consider to be "unreasonablly slow".  The behavior is 

  1. I scroll
  2. The rows move up
  3. There is a huge empty whitespace for about 1-2 seconds
  4. The white space fills up as the elements render
  5. Repeat process

 

I will note:

  • It doesn't matter if I bind the gallery to a local collection or directly to the data source.   Since my data source (Azure SQL) is too large to be cached to a collection, I'm limited to direct binding anyways.
  • It's reproducible in web player (Chrome browser) and mobile (iPad app)
  • I am using ThisItem to bind all data to controls in the gallery.  At this point, I have 8 controls total in the template row, which are a mix of images (2 icons) and labels (6 of those).
  • It seems to be completely unrelated to latency in the network.  I can verify this by watching the troubleshooting console, and the lag isn't tied to any network calls, though I do see those happen at each 100 rows of data or so.
  • I can reproduce this on other data sources that I am caching to a local collection on app OnStart, where I see this empty whitespace when I scroll fast enough to where the gallery would need to render more than ~5 rows at a time.  In that case, the datasource is cached to a local collection, and that gallery only has 5 labels in the template row.

 

I'm attaching a video of this behavior.  While the lag you see might be "acceptable", it's not a great user experience on any platform. I understand that the gallery is probably working as designed for keeping resource utilization low on mobile devices, however, since this can be reproduce on mobile, too, I'm asking that Microsoft improve this. 

85 REPLIES 85
Anonymous
Not applicable

Web client performance is fine for me, my issue regarding this was with the Windows client.

If my 2 cents can be of help to you @pmcgurn01 and others with similar problems:

 


@pmcgurn01 wrote:

This forum is infuriating.  Every time I post, it loses the original and I have to re-write it.  Having to save my original content to a notepad just in case I hit the "unexpected error occurred" failure makes me post less.

 

Rant on that, over.  Now on to my reply.

 

It's definitely not caused by network latency.  I profiled it in Chrome, and there's a clear lag in scroll performance even when not calling for data from the data source via network.  So that rules out the cached local collection vs. data source binding conversation entirely.  My DS and use case for this screen are too big to cache anyways.

 

The screen I'm testing this with has a gallery that contains 10 UI elements in the template, where 7 are DS-bound and 3 are static images/labels.  Of the 7, 5 are labels and 2 are read-only radio buttons.  The app checker shows no warnings related to anything on the app other than warnings on accessibility text.

 

So, I really hope Microsoft is working on improving this performance, because it's unusable at scale and making me reconsider my decision to use the PowerApps platform to deploy apps within my company.


If both, PowerApps gallery and the forum are giving you issues, then your computer might need some tuning and maintenance. I have no performance problems at all.

Forum: I have no issues with the forum using Chrome. Keep in mind that computers and browsers need a regular cleanup including malware removal, unwanted software, addons, cache, etc. I would install a dedicated development browser, and only use it for PowerApps and related development tasks. Choose a browser (Chrome, Firefox, Edge), do a fresh install, don't install addons unless necessary.

PowerApps Gallery: I have large galleries with nested galleries, and other formulas for on-the-spot calculations, and the performance is good. 

Try testing it on another computer or try a different browser. You'll notice the difference. Make sure the computer is powerful enough, at least with a 4 cores processor and at least 16GB of RAM. 

If you running it on a laptop, make sure that battery settings are not set to saving battery, but set to max performance. 

If you have performance issues with the browser and with PowerApps, the best thing you can do, it's to have a dedicated development computer, without any unneeded software, and with recurring cleanups. 
Make sure your computer is modern and with a good amount of RAM.

I have 32GB of RAM and have no performance issues, even though my computer is already outdated. But I keep it clean. PowerApps runs smoothly and the forums gives me no issues.

For the annoying post problem. If you just type "This is my Post" and then go back and edit the post it works. 

Memory and battery have NOTHING to do with this.  FWIW, my machine is a high end Macbook Pro, and neither CPU or Memory are ever an issue. 

 

Multiple end users of apps published by multiple app builders would indicate a shortcoming in the platform, not our well-equipped computers and mobile devices.  So it works fine for you?  Congrats, the rest of us suffer.


@pmcgurn01 wrote:

Memory and battery have NOTHING to do with this.  FWIW, my machine is a high end Macbook Pro, and neither CPU or Memory are ever an issue. 

 

Multiple end users of apps published by multiple app builders would indicate a shortcoming in the platform, not our well-equipped computers and mobile devices.  So it works fine for you?  Congrats, the rest of us suffer.





If you have a high-end machine, there could be another problem causing the gallery to perform poorly or getting stuck. 

For example, some databases or spreasheets API have a limited amount of queries per second, or similar restrains. One of my galleries, had a sub-gallery, and it was getting stuck when loading. It was taking forever to load. Then, I found that my queries were getting blocked by the data source. It was my fault, not my computer, not Microsoft.

Another cause of performance issue, it's inefficient formulas or the way the app is designed.

I would recreate the gallery from scratch within a new app, and start adding few formulas gradually, and testing performance. Any software has bugs, and our job is to find resolutions to create a final product that works as intended. We can't just blame it on Microsoft.

Since your browser is giving you issues as well, there must be something going on with your system, or there is a compatibility issue. 

PaulD1
Community Champion
Community Champion

I see (and have always seen) the same in galleries in Power Apps. If you scroll more than a few rows you will get a blank space and a brief pause before the rows will then appear. It typically takes a little less than a second for the rows to appear (assuming there are no complex formulas or data calls involved),  but it is certainly noticeable and I would say your gif is typical of the behviour I see.

If your gallery is based on a delegable data call you will also get a delay once you hit row 100 as that triggers Power Apps to go get the next 100 rows, then when you hit row 200 you get another delay and so on. I think this is preferable to the alternative of bringing in all the records up to the delegable limit (so no pause when hitting record 100) but having the initial records render more slowly (because more records are being fetched), but you can use FirstN to get that behaviour if you wish (though you then can't scroll beyond the delegable limit unless you add code to perform some sort of 'paging'.

Fortunately this doesn't really bother me too much (though it would be nice to see it improved and would leave users with a better impression of the product) and it is just one of those cons to balance against the pros when deciding if Power Apps is the right tool for a specific scenario.

cwebb365
Most Valuable Professional
Most Valuable Professional

Running into this as well. The gallery control does not work well when using more than 3 - 5 controls it seems in a template item. Trying to create grid like views, it starts to get quickly worse over time. If you only show 5-10 records it works fine, but you start showing more rows it starts to tank performance in not just scrolling but selecting rows etc. 

 

Data Table would be epic for this use case and it's performance is great, but it's very limited as I need multi select capabilities that it doesn't provide. If only we could get a few updates to that it would work great. Tons of columns, grid view, and it's fast and resizes etc. 

 

I'm starting to look into this custom canvas grid control. But haven't the slightest clue on how these work, but if I can figure it out I'll pass on the knowledge, but this would be perfect if I can get it working with multiple dataset lookups for conditional formatting etc. Create canvas app dataset component in Microsoft Dataverse - Power Apps | Microsoft Docs

Anyway, I know it's a year later and problem still seems unsolved. Guessing you went another route or had to change design considerations on some stuff. Anyway, if you have found any solutions since, let me know!

cwebb365
Most Valuable Professional
Most Valuable Professional

And to everyone suggestion data source/ delegation etc. the original post said he tested with local collection :P. Anyone can reproduce this, create a gallery, shrink the template size down to like 20, add a 20 height horizontal container throw in a 20 height label, copy and paste the label like 10 times. Connect it all to just a basic Thisitem.id field from the data source with 200 records. Try to scroll. It def. lags :P. 

At this point no solution, gallery issues still there (note two years since this was raised here). I created a ticket with microsoft once I came on board, and nothing. At this point, you are following the best path for performance - use datatables. I haven't created dataset components yet, just normal components. Definitively going to install that one you linked to and try it out! Thanks so much for posting that. Great case for why we should keep cases alive for years.

We were running into something very similar with one of our galleries this week. We ran around in circles trying to figure out why items weren't loading up faster. In the end, we determined that the issue was actually that the gallery  was slow to recalculate it's height. When we changed the gallery to a fixed height, then things scrolled super smooth. 


Not sure if that's applicable to your case, but I thought I'd throw it out there.

Helpful resources

Announcements

Win free tickets to the Power Platform Conference | Summer of Solutions

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**

Celebrating the June Super User of the Month: Markus Franz

Markus Franz is a phenomenal contributor to the Power Apps Community. Super Users like Markus inspire others through their example, encouragement, and active participation.    The Why: "I do this to help others achieve what they are trying to do. As a total beginner back then without IT background I know how overwhelming things can be, so I decided to jump in and help others. I also do this to keep progressing and learning myself." Thank you, Markus Franz, for your outstanding work! Keep inspiring others and making a difference in the community! 🎉  Keep up the fantastic work! 👏👏   Markus Franz | LinkedIn  Power Apps: mmbr1606  

Copilot Cookbook Challenge | Week 1 Results | Win Tickets to the Power Platform Conference

We are excited to announce the "The Copilot Cookbook Community Challenge is a great way to showcase your creativity and connect with others. Plus, you could win tickets to the Power Platform Community Conference in Las Vegas in September 2024 as an amazing bonus.   Two ways to enter: 1. Copilot Studio Cookbook Gallery: https://aka.ms/CS_Copilot_Cookbook_Challenge 2. Power Apps Copilot Cookbook Gallery: https://aka.ms/PA_Copilot_Cookbook_Challenge   There will be 5 chances to qualify for the final drawing: Early Bird Entries: March 1 - June 2Week 1: June 3 - June 9Week 2: June 10 - June 16Week 3: June 17 - June 23Week 4: June 24 - June 30     At the end of each week, we will draw 5 random names from every user who has posted a qualifying Copilot Studio template, sample or demo in the Copilot Studio Cookbook or a qualifying Power Apps Copilot sample or demo in the Power Apps Copilot Cookbook. Users who are not drawn in a given week will be added to the pool for the next week. Users can qualify more than once, but no more than once per week. Four winners will be drawn at random from the total qualifying entrants. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once. If they are drawn multiple times, another user will be drawn at random. Prizes:  One Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value, does not include travel, lodging, or any other expenses) Winners are also eligible to do a 10-minute presentation of their demo or solution in a community solutions showcase at the event. To qualify for the drawing, templates, samples or demos must be related to Copilot Studio or a Copilot feature of Power Apps, Power Automate, or Power Pages, and must demonstrate or solve a complete unique and useful business or technical problem. Power Automate and Power Pagers posts should be added to the Power Apps Cookbook. Final determination of qualifying entries is at the sole discretion of Microsoft. Weekly updates and the Final random winners will be posted in the News & Announcements section in the communities on July 29th, 2024. Did you submit entries early?  Early Bird Entries March 1 - June 2:  If you posted something in the "early bird" time frame complete this form: https://aka.ms/Copilot_Challenge_EarlyBirds if you would like to be entered in the challenge.   Week 1 Results:  Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Copilot Cookbook Gallery:Power Apps Cookbook Gallery:1.  @Mathieu_Paris 1.   @SpongYe 2.  @Dhanush 2.   @Deenuji 3.  n/a3.   @Nived_Nambiar  4.  n/a4.   @ManishSolanki 5.  n/a5.    n/a

Your Moment to Shine: 2024 PPCC’s Got Power Awards Show

For the third year, we invite you, our talented community members, to participate in the grand 2024 Power Platform Community Conference's Got Power Awards. This event is your opportunity to showcase solutions that make a significant business impact, highlight extensive use of Power Platform products, demonstrate good governance, or tell an inspirational story. Share your success stories, inspire your peers, and show off some hidden talents.  This is your time to shine and bring your creations into the spotlight!  Make your mark, inspire others and leave a lasting impression. Sign up today for a chance to showcase your solution and win the coveted 2024 PPCC’s Got Power Award. This year we have three categories for you to participate in: Technical Solution Demo, Storytelling, and Hidden Talent.      The Technical solution demo category showcases your applications, automated workflows, copilot agentic experiences, web pages, AI capabilities, dashboards, and/or more. We want to see your most impactful Power Platform solutions!  The Storytelling category is where you can share your inspiring story, and the Hidden Talent category is where your talents (such as singing, dancing, jump roping, etc.) can shine! Submission Details:  Fill out the submission form https://aka.ms/PPCCGotPowerSignup by July 12th with details and a 2–5-minute video showcasing your Solution impact. (Please let us know you're coming to PPCC, too!)After review by a panel of Microsoft judges, the top storytellers will be invited to present a virtual demo presentation to the judges during early August. You’ll be notified soon after if you have been selected as a finalist to share your story live at PPCC’s Got Power!  The live show will feature the solution demos and storytelling talents of the top contestants, winner announcements, and the opportunity to network with your community.  It's not just a showcase for technical talent and storytelling showmanship, show it's a golden opportunity to make connections and celebrate our Community together! Let's make this a memorable event! See you there!   Mark your calendars! Date and Time: Thursday, Sept 19th Location: PPCC24 at the MGM Grand, Las Vegas, NV 

Tuesday Tip | Accepting Solutions

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   To enhance our collaborative environment, it's important to acknowledge when your question has been answered satisfactorily. Here's a quick guide on how to accept a solution to your questions: Find the Helpful Reply: Navigate to the reply that has effectively answered your question.Accept as Solution: Look for the "Accept as Solution" button or link, usually located at the bottom of the reply.Confirm Your Selection: Clicking this button may prompt you for confirmation. Go ahead and confirm that this is indeed the solution.Acknowledgment: Once accepted, the reply will be highlighted, and the original post will be marked as "Solved". This helps other community members find the same solution quickly. By marking a reply as an accepted solution, you not only thank the person who helped you but also make it easier for others with similar questions to find answers. Let's continue to support each other by recognizing helpful contributions. 

Reminder: To register for the Community Ambassador Call on June 13th

Calling all Super Users & User Group Leaders     Reminder: To register for the Community Ambassador Call on June 13th—for an exclusive event for User Group Leaders and Super Users! This month is packed with exciting updates and activities within our community.   What's Happening: Community Updates: We'll share the latest developments and what's new in our vibrant community.Special Guest Speaker: Get ready for an insightful talk and live demo of Microsoft Copilot Studio templates by our special guest.Regular Updates: Stay informed with our routine updates for User Groups and Super Users.Community Insights: We'll provide general information about ongoing and upcoming community initiatives. Don't Miss Out: Register Now: Choose the session that fits your schedule best.Check your private messages or Super User Forum for registration links. We're excited to connect with you and continue building a stronger community together.   See you at the call!  

Top Solution Authors
Top Kudoed Authors
Users online (3,250)