Skip to content

Commit 65bb672

Browse files
authored
Merge pull request #1715 from MicrosoftDocs/yingchin-patch-2
Update performance-tips.md
2 parents d927a93 + 706004e commit 65bb672

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.service: powerapps
77
ms.topic: conceptual
88
ms.custom: canvas
99
ms.reviewer: anneta
10-
ms.date: 08/31/2018
10+
ms.date: 06/17/2019
1111
ms.author: yingchin
1212
search.audienceType:
1313
- maker
@@ -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 loaded and one of its formulas uses a property of a control from screen 2. Now screen 2 must be loaded to fulfill the dependency before screen 1 can be displayed. Imagine screen 2 has a dependency on screen 3, which has another dependency on screen 4, and so on. This dependency chain can cause 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 the previous example imagine 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 there's 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)