CRM Crate

Top reasons of slow performance for a canvas app

We will understand the top reasons of slow performance for a canvas app. Before we start, make sure to subscribe to CRM Crate so that you can stay up to date in the field of Power Platform.

Top reasons of slow performance for a canvas app

Client web browsers, devices, and geo locations

Canvas applications can be used on different web browsers, devices, and geographic locations with varying network conditions. Make sure your Canvas App is accessed on the recommended browsers as shown below.

BrowserSupported versionsApp type
Google ChromeLatest three major releasesModel-driven apps, canvas apps, Power Apps portals, app and component designers.
Microsoft EdgeLatest three major releasesModel-driven apps, canvas apps, Power Apps portals, app and component designers.
Mozilla FirefoxLatest three major releasesModel-driven apps, canvas apps, Power Apps portals.
Apple Safari13 and laterModel-driven apps, canvas apps, Power Apps portals.

Debug published app setting enabled

The “Debug published app” setting is used to view the source expressions in Monitor for the published app. This setting is similar to generating a debug file in traditional day to day development.

Publishing source expressions with your canvas app is an optional setting. Even when this setting is off, you’ll be able to see the events happening in your app, but you won’t be able to map these events to specific expressions or formulas.

This setting is found in “File > Settings, and then turn on Debug published app” as shown below.

But, Canvas Apps published with the setting Debug published app enabled perform slower. To minimize the impact, disable this setting as soon as you no longer need to view source expressions when debugging your published app.

Canvas App Design

Multiple aspects can harm the performance on the Canvas App in design’s perspective. Below are few key design related factors affecting app’s performance.

The app has a long formula in OnStart

The app triggers many unnecessary data calls in screens, and these data calls return large data records.

The app is client-heavy

The app gets large sets of data into data collections initially, and then uses the data within multiple screens over client-heavy operations like JOINSortAdd Column, and Group By.

To review the Canvas App design as a suspected source of slow app performance, monitor the app by using Monitor. Verify which data calls are taking a long time, and how many data calls trigger such behaviour in the app.

Geo location of the on-premises data environment and gateway

Application users can access canvas apps globally. However, it is recommend that you locate the data source near most of your users. For example, when your app accesses your on-premises data source, the location of on-premises data gateway should be close to the data source to minimize any extra overhead between the data gateway and the data source.

Geo location of the on-premises data environment and gateway

Bottleneck in the source

There are multiple possible causes of bottlenecks in the data source. Usually, tables in the data source are at the center of activity when many transactional/nontransactional queries are directed to the same table or record from different users.

Below are few key reasons which can slow down the OData calls.

  1. The on-premises data gateway is unhealthy.
  2. The back-end machine hosting the data source is low on resources.
  3. The back-end SQL instance has blockings, deadlocks, or resource contention.

Large number of columns retrieved

As a good practise, it is recommended that you select only the columns that are necessary for the app. Adding un-used or all columns from the data source downloads all the data in the columns. This action results in a high number of network overhead calls and, therefore, high memory usage in the client device. This problem can affect users with mobile devices even more if the network bandwidth is limited, or if a device has limited memory or a legacy processor.

You can use the “Explicit Column Selection” feature to control this issue. This feature allows Power Apps to restrict data retrieval to only the columns used in the app.

Navigate to Settings > Upcoming features > Preview, and then turn on the Explicit column selection toggle to enable this feature.

Large number of columns retrieved

Thus, we learned the top reasons of slow performance for a canvas app.

5 1 vote
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
error: CRM Crate Security Engine - Disabled Right Click & Selection!

Congratulations!

Well Done,
Welcome to CRM Crate

Stay tuned with us and get all latest updates and learning in Microsoft CRM and related techonologes.