Skip to content

Commit 0864b1b

Browse files
authored
Update performance-tips.md
Update the doc per @greg Lindhorst feedback.
1 parent 014aac6 commit 0864b1b

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

powerapps-docs/maker/canvas-apps/performance-tips.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,11 @@ Contact information doesn’t change frequently, and neither do default values a
8484
technique with the **Defaults** and **User** functions also.
8585

8686
## Avoid controls dependency between screens
87-
If a control’s value depends on the value of a control on a different screen, manage the data by using a variable, a collection, or a data-source reference.
87+
To improve performance, the screens of an app are loaded into memory only as they are needed. This optimization can be hampered if, for example, screen 1 is to be loaded and one of its formulas uses a property of a control from screen 2. Now screen 2 will need to be loaded to fulfill the dependency before screen 1 can be displayed. Perhaps screen 2 has a dependency on screen 3, and on and on the dependency chain could go causing potentially many screens to be loaded.
8888

89-
## Use global variables
90-
To pass the app’s state from one screen to another, create or modify a global variable value by using the [**Set**](functions/function-set.md) function instead of by using the **Navigate** and **UpdateContext)** functions.
89+
For this reason avoid formula dependencies between screens. In some cases you can use a global variable or collection to share information between screens.
90+
91+
There is an exception. In our example let's say that the only way to display screen 1 is by navigating from screen 2. Then screen 2 would have already been loaded in memory when screen 1 was to be loaded. No additional work is needed to fulfill the dependency for screen 2 and therefore no performance impact.
9192

9293
## Use delegation
9394
Where possible, use functions that delegate data processing to the data source instead of retrieving data to the local device for processing. If an app must process data locally, the operation requires much more processing power, memory, and network bandwidth, especially if the data set is large.

0 commit comments

Comments
 (0)