Canvas App Performance: 7 Tips to Make Your Apps Fly

By Ryan Corrigal, 20 July, 2025
Power Platform Innovators - Canvas App Performance: 7 Tips to Make Your Apps Fly

Canvas apps are one of Power Platform’s most powerful features. They let you design beautiful, custom apps quickly — but as apps grow more complex, performance often takes a hit.

I’ve seen apps where:

  • Screens take 10+ seconds to load.
  • Users scroll endlessly waiting for data to render.
  • Laggy experiences cause adoption to stall.

The good news? Most performance issues are fixable with a few proven techniques.

In this article, I’ll share 7 tips I use on every project to make canvas apps run smoother and load faster.

 

1. Keep Data Delegable

The Issue: Non-delegable queries force Power Apps to pull all data locally before filtering or sorting. For large datasets, this kills performance.

The Fix:

  • Always check the warnings (blue triangle) for delegation issues.
  • Use delegable functions where possible (Filter, Sort, LookUp on indexed columns).
  • Limit the number of records returned with FirstN or server-side filters.

Tip: For complex filters, consider pre-processing data in Power Automate or Dataverse views.

 

2. Reduce OnStart Complexity

The Issue: Apps with heavy OnStart logic can feel like they “hang” on launch.

The Fix:

  • Move non-essential logic (like caching static data) to OnVisible of individual screens.
  • Use Concurrent() to run multiple initializations at the same time.
  • Load data lazily — only fetch what’s needed when it’s needed.

 

3. Cache Data for Reuse

The Issue: Pulling the same data multiple times increases load times and network calls.

The Fix:

  • Use collections or variables to cache data locally:
    ClearCollect(colCustomers, Filter(Customers, Active = true))
  • Cache reference data (e.g., dropdown lists) once and reuse across screens.
  • Consider SaveData() / LoadData() for offline scenarios.

 

4. Minimize Controls on Each Screen

The Issue: Every control (label, button, gallery) adds overhead. A screen with 200+ controls will drag.

The Fix:

  • Combine related controls using containers or components.
  • Use reusable components for repeated UI elements.
  • Replace multiple labels/icons with single HTML or rich text controls when possible.

 

5. Optimize Formulas

The Issue: Overly complex formulas with repeated calculations slow down rendering.

The Fix:

  • Store reused calculations in variables:
    Set(varTotal, Sum(colOrders, Amount))
  • Avoid using If chains when a Switch or lookup table would be cleaner.
  • Minimize ForAll loops — use collections or delegation where possible.

 

6. Preload Images & Media

The Issue: Images hosted externally or with large file sizes increase load times.

The Fix:

 

7. Monitor Performance with Built-in Tools

The Issue: You can’t fix what you don’t measure.

The Fix:

  • Use the Monitor tool in Power Apps Studio to see:
    • Data call times.
    • Control render times.
    • Network latency.
  • Review Performance Analyzer to identify the slowest screens and formulas.

 

Bonus Tip: Split Your App

If your app does too much, no amount of optimization will fully save it.
Sometimes the best move is to split one large app into smaller, purpose-built apps and link them with deep links or navigation screens.

 

Final Thoughts

Canvas apps can deliver amazing experiences — but performance issues quickly erode user trust. By focusing on delegation, caching, control counts, and clean formulas, you can create apps that feel as smooth as native applications.

These are techniques I bring to every Power Platform project I lead. If you’ve struggled with slow apps, start with one or two of these tips and you’ll see measurable improvements almost immediately.

What’s the biggest performance challenge you’ve faced in a canvas app?
Let me know in the comments — I’d love to share strategies and learn what’s worked for you.

📩 Contact me or subscribe to the blog for more tips.