Tipy a osvedčené postupy na zlepšenie výkonu aplikácií plátna
V predchádzajúcich článkoch ste sa dozvedeli o fázach vykonávania a postupe dátových volaní, bežných zdrojoch pomalého výkonu a bežných problémoch a riešeniach problémov s výkonnosťou v aplikáciách plátna. Môžete tiež využiť postup podľa tipov a osvedčených postupov v tomto článku na zvýšenie výkonu aplikácií, ktoré vytvoríte.
Obmedzte pripojenia údajov
Nepridávajte viac ako 30 pripojení do jednej aplikácie. Aplikácie vyzvú nových používateľov na prihlásenie do každého konektora, takže každý ďalší konektor navýši čas, ktorý aplikácia potrebuje na spustenie. Pri spustení aplikácie vyžaduje každý konektor prostriedky procesora, pamäť a šírku pásma siete, ak aplikácia požaduje údaje z tohto zdroja.
Výkon vašej aplikácie môžete pri spúšťaní aplikácie rýchlo merať zapnutím nástroja pre vývojárov v Microsoft Edge alebo Google Chrome. Ak vaša aplikácia často požaduje údaje z viac ako 30 pripojení, je pravdepodobné, že vrátenie údajov bude trvať dlhšie ako 15 sekúnd. Každé pridané pripojenie sa do tohto limitu započítava individuálne, bez ohľadu na typ pripojeného zdroja údajov — ako napr. Microsoft Dataverse alebo tabuľky SQL Server alebo zoznamy vytvorené pomocou aplikácie Microsoft Zoznamy.
Obmedzte počet ovládacích prvkov
Nepridávajte viac ako 500 ovládacích prvkov do jednej aplikácie. Power Apps generuje objektový model dokumentu HTML na vykreslenie každého ovládacieho prvku. Na generovanie ďalších pridaných ovládacích prvkov potrebuje Power Apps viac času.
V niektorých prípadoch môžete dosiahnuť rovnaký výsledok a aplikáciu spustiť rýchlejšie, ak namiesto jednotlivých ovládacích prvkov použijete galériu. Okrem toho budete možno chcieť obmedziť počet typov ovládacích prvkov na tej istej obrazovke. Niektoré ovládacie prvky (napríklad zobrazovač PDF súborov, tabuľka údajov a rozbaľovacie pole) vyžadujú veľké spúšťacie skripty a trvá im dlhšie, kým sa vykreslia.
Optimalizácia vlastnosti OnStart
Na lokálne ukladanie údajov do vyrovnávacej pamäte použite funkciu ClearCollect, ak sa počas relácie používateľa nemenia. Použite tiež funkciu Súbežne na súčasné načítanie zdrojov údajov; to môže skrátiť čas, ktorý aplikácia potrebuje na načítanie údajov, na polovicu. Viac informácií: Súbežná funkcia v Power Apps
Bez použitia funkcie Súbežne nasledujúci vzorec načítava všetky štyri tabuľky jednu po druhej:
ClearCollect( Product, '[SalesLT].[Product]' );
ClearCollect( Customer, '[SalesLT].[Customer]' );
ClearCollect( SalesOrderDetail, '[SalesLT].[SalesOrderDetail]' );
ClearCollect( SalesOrderHeader, '[SalesLT].[SalesOrderHeader]' )
Toto správanie môžete potvrdiť v Nástrojoch pre vývojárov svojho prehliadača, ako je to znázornené na nasledujúcom obrázku.
Ten istý vzorec môžete priložiť do funkcie Concurrent, čím sa zníži celkový čas potrebný na vykonanie operácie:
Concurrent(
ClearCollect( Product, '[SalesLT].[Product]' ),
ClearCollect( Customer, '[SalesLT].[Customer]' ),
ClearCollect( SalesOrderDetail, '[SalesLT].[SalesOrderDetail]' ),
ClearCollect( SalesOrderHeader, '[SalesLT].[SalesOrderHeader]' ))
Vďaka tejto zmene aplikácia načíta tabuľky paralelne, ako je to znázornené na nasledujúcom obrázku.
Poznámka
Ďalšie informácie o problémoch s výkonom a ich rozlíšeniach týkajúcich sa systému OnStart nájdete v článku Udalosť OnStart je potrebné vyladiť.
Tip
Odporúčame použiť vlastnosť App.StartScreen, pretože zjednodušuje spúšťanie aplikácie a zvyšuje výkon aplikácie.
Ukladajte údaje vyhľadávania do vyrovnávacej pamäte
Na lokálne ukladanie údajov z vyhľadávacej tabuľky do vyrovnávacej pamäte použite funkciu Set, čím sa zabráni opakovanému načítavaniu údajov zo zdroja. Tento postup optimalizuje výkon, ak by sa údaje nemali počas relácie meniť. V príklade sa údaje zo zdroja načítajú len raz a potom sa na ne odkazuje lokálne, kým používateľ aplikáciu nezavrie.
Set(CustomerOrder, Lookup(Order, id = “123-45-6789”));
Set(CustomerName, CustomerOrder.Name);
Set(CustomerAddress, CustomerOrder.Address);
Set(CustomerEmail, CustomerOrder.Email);
Set(CustomerPhone, CustomerOrder.Phone);
Táto metóda je užitočnejšia pre údaje, ako sú kontaktné informácie, predvolené hodnoty alebo informácie o používateľovi, ktoré sa často nemenia. Takže môžete túto metódu bežne používať spolu s funkciami Predvolené a Používateľ.
Vyhnite sa závislosti ovládacích prvkov medzi obrazovkami
Na zlepšenie výkonu sa obrazovky aplikácie načítajú do pamäte iba podľa potreby. Táto optimalizácia môže byť brzdená, ak je napríklad načítaná obrazovka 1 a jeden z jej vzorcov využíva vlastnosť ovládacieho prvku z obrazovky 2. Pred zobrazením obrazovky 1 sa teraz musí načítať obrazovka 2, aby sa splnila závislosť. Predstavte si, že obrazovka 2 má závislosť od obrazovky 3, ktorá má inú závislosť od obrazovky 4 atď. Tento reťazec závislosti môže spôsobiť načítanie mnohých obrazoviek.
Z tohto dôvodu sa vyhnite závislosti vzorcov medzi obrazovkami. V niektorých prípadoch môžete na zdieľanie informácií medzi obrazovkami použiť globálnu premennú alebo kolekciu.
Existuje jedna výnimka: V predchádzajúcom príklade si predstavte, že jediným spôsobom, ako zobraziť obrazovku 1, je navigácia z obrazovky 2. Potom bude obrazovka 2 už načítaná do pamäte, keď sa má načítať obrazovka 1. Na splnenie závislosti pre obrazovku 2 nie je potrebná žiadna ďalšia práca, a preto nemá žiadny vplyv na výkon.
Používajte delegovanie
Ak je to možné, použite funkcie, ktoré namiesto spracovania pomocou načítania údajov do miestneho zariadenia delegujú spracovanie údajov do zdroja údajov. Ak aplikácia musí spracovať údaje lokálne, operácia vyžaduje na spracovanie oveľa viac výkonu, pamäte a šírku pásma siete, najmä ak je množina údajov veľká.
Tip
Ak sa chcete dozvedieť viac o delegovateľných funkciách podporovaných konkrétnymi konektormi, pozrite si dokumentáciu konektora.
Pre príklad delegovateľných funkcií zvážte stĺpec ID definovaný ako typ údajov Číslo v zozname vytvorenom pomocou aplikácie Microsoft Zoznamy. Vzorce v nasledujúcom príklade vrátia výsledky podľa očakávania. Prvý vzorec je však delegovateľný, zatiaľ čo druhý je nedelegovateľný.
Vzorec | Delegovateľný? |
---|---|
Filter ('List data source', ID = 123 ) |
Áno |
Filter(`List data source', ID ="123") |
Nie |
Pretože predpokladáme, že stĺpec ID v SharePoint je definovaný s dátovým typom Číslo, hodnota na pravej strane by mala byť číselná premenná namiesto premennej reťazca. V opačnom prípade tento nesúlad môže spôsobiť, že vzorec nebude delegovateľný.
Použitie nedegradovateľných funkcií a neprimeraného limitu riadku údajov pre nedelegovateľné dotazy môže mať nepriaznivý vplyv na výkon aplikácie. Ďalšie informácie: Informácie o delegovaní v aplikácii plátna
Používajte oneskorené načítanie
Zapnite funkciu ukážky pre oneskorené načítanie, ak má vaša aplikácia viac ako 10 obrazoviek, žiadne pravidlá a veľa ovládacích prvkov, ktoré sú na viacerých obrazovkách a sú priamo prepojené s zdroj údajov. Ak vytvoríte takúto aplikáciu a nespustíte túto funkciu, výkon aplikácie môže byť horší, pretože ovládacie prvky na všetkých obrazovkách musia byť vyplnené, dokonca aj na obrazovkách, ktoré nie sú otvorené. Navyše musia byť všetky obrazovky aplikácie aktualizované pri každej zmene zdroja údajov, napríklad keď používateľ pridá záznam.
Práca s veľkými množinami údajov
Používajte zdroje údajov a vzorce, ktoré je možné delegovať, aby vaša aplikácie mala dobrý výkon a používatelia mali prístup k všetkým informáciám, ktoré potrebujú, a nepresahujte limit počtu riadkov údajov 2 000 pre nedelegovateľné dotazy. Pre stĺpce na zaznamenávanie údajov, v ktorých môžu používatelia vyhľadávať, filtrovať alebo triediť údaje, použite indexy na stĺpcoch, ako ich popisujú zdroje údajov, ako napríklad SQL Server alebo SharePoint.
Poznámka
Ďalšie informácie o tom, ako môžu veľké množiny údajov spôsobiť bežné problémy s výkonom na rôznych platformách, nájdete v článku Veľké množiny údajov sa pomaly načítajú na rôznych platformách.
Aplikácie pravidelne publikujte znova
Tvorcom sa odporúča, aby svoje aplikácie pravidelne zverejňovali. Pretože sa platforma Power Apps neustále optimalizuje a nasadzuje, vaša aplikácia sa regeneruje v rámci najnovších optimalizácií platformy, keď ju znova zverejníte.
Vyhnite sa opakovaniu rovnakého vzorca na viacerých miestach
Ak rovnaké vlastnosti spúšťajú viaceré vlastnosti (najmä ak je to zložité), zvážte ich nastavenie raz a potom odkazovanie na výstup prvej vlastnosti v nasledujúcich. Napríklad nenastavujte vlastnosť Režim zobrazenia ovládacích prvkov A, B, C, D a E podľa rovnakého komplexného vzorca. Namiesto toho nastavte vlastnosť DisplayMode prvku A na komplexný vzorec, nastavte vlastnosť DisplayMode prvku B na výsledok vlastnosti DisplayMode prvku A atď. pri C, D a E.
Povoľte DelayOutput na všetkých ovládacích prvkoch zadávania textu
Ak máte viacero vzorcov alebo pravidiel, ktoré odkazujú na hodnotu ovládacieho prvku Zadávanie textu, nastavte vlastnosť DelayedOutput tohto ovládacieho prvku na príznak true. Vlastnosť Text tohto ovládacieho prvku bude aktualizovaná až po zastavení úderov klávesov zadaných v rýchlom slede. Vzorce alebo pravidlá sa nespustia toľkokrát a zlepší sa výkon aplikácií.
Nepoužívajte Form.Updates v pravidlách a vzorcoch
Ak odkazujete na vstupnú hodnotu používateľa v pravidle alebo vzorci pomocou premennej Form.Updates
, iteruje cez všetky údajové karty formulára a zakaždým vytvorí záznam. Ak chcete, aby bola vaša aplikácia efektívnejšia, odkazujte na hodnotu priamo z karty údajov alebo hodnoty ovládacieho prvku.
Použitie DelayItemLoading rotujúceho indikátora načítavania na zlepšenie výkonu v Galérii
V závislosti od konfigurácie môže vykreslenie viditeľných riadkov galérie trvať dlhšie. Existuje niekoľko spôsobov, ako zlepšiť výkon.
- Zjednodušenie šablóny. Zvážte napríklad zníženie počtu ovládacích prvkov, odkazov na vyhľadávania.
- Galérie so zložitými šablónami môžu mať úžitok z toho, že majú vlastnosť DelayItemLoading nastavenú na pravda a LoadingSpinner na LoadingSpinner.Controls. Táto zmena zlepší vnímaný zážitok, keď je čas vykreslenia dlhší. DelayItemLoading tiež odloží vykreslenie šablón, čo umožní rýchlejšie vykreslenie zvyšku obrazovky, pretože obrazovka aj galéria nesúťažia o zdroje.
Povolenie predbežného načítania aplikácie na zvýšenie výkonu
Ak chcete zvýšiť výkon, môžete svoju aplikáciu prípadne načítať vopred.
Prihláste sa do Power Appsa následne si z ponuky vyberte položku Aplikácie.
Vyberte Viac akcií (…) pre aplikáciu, ktorú chcete zdieľať, a potom vyberte Nastavenia.
Na paneli Nastavenia prepnite Vopred načítať aplikáciu na zvýšenie výkonu na Áno. Aplikácia sa potom načíta predbežne.
Aby sa zmeny pre aplikácie vložené do služby Teams prejavili, odstráňte a znova pridajte svoju aplikáciu do služby Teams.
Poznámka
Vďaka tomu sú kompilované prostriedky aplikácie prístupné cez neoverené koncové body, aby sa umožnilo ich načítanie pred overením. Používatelia však môžu stále používať vašu aplikáciu na prístup k údajom prostredníctvom konektorov až po dokončení overenia a autorizácie. Toto správanie zaisťuje, že údaje, ktoré aplikácia získava zo zdrojov údajov, nebudú dostupné neoprávneným používateľom. Kompilované prostriedky aplikácie zahŕňajú kolekciu súborov JavaScript obsahujúcich text vytvorený v ovládacích prvkoch aplikácie (napríklad ovládacie prvky PCF), mediálne prostriedky (napríklad obrázky), názov aplikácie a adresu URL prostredia, v ktorom sa aplikácia nachádza.
Vo všeobecnosti by aplikácie mali získavať médiá a informácie zo zdrojov údajov prostredníctvom pripojení. Ak je potrebné do aplikácie pridať médiá a informácie bez toho, aby pochádzali z pripojenia a považujú sa za citlivé, možno budete chcieť toto nastavenie zakázať. Upozorňujeme, že zakázanie tohto nastavenia spôsobí, že používatelia budú čakať na prístup k aplikácii o niečo dlhšie.
Údaje aplikácie uložené vo vašom zariadení
Aby používatelia mohli rýchlejšie načítať podrobnosti o aplikácii pri spustení aplikácie, určité údaje sú lokálne uložené vo vašom zariadení vo vyrovnávacej pamäti prehliadača. Informácie, ktoré sú uložené, zahŕňajú aplikáciu, prostredie a podrobnosti o pripojení. Tieto údaje zostanú uložené v prehliadači na základe limitov úložiska jednotlivých prehliadačov. Ak chcete vymazať uložené údaje, prečítajte si pokyny pre každý prehliadač.
Ďalšie kroky
Preskúmanie štandardy kódovania na maximalizovanie výkonu aplikácií a na jednoduchšiu údržbu aplikácií.
Pozrite si tiež:
Oboznámenie sa s fázami spúšťania aplikácie plátna a s postupom údajových volaní
Bežné problémy s výkonom aplikáciám plátna a riešenia
Bežné zdroje pomalého výkonu pre aplikácie plátna
Bežné problémy a riešenia pre službu Power Apps
Riešenie problémov pri spúšťaní pre Power Apps
Poznámka
Môžete nás informovať o svojich voľbách jazyka pre dokumentáciu? Absolvujte krátky prieskum. (upozorňujeme, že tento prieskum je v angličtine)
Prieskum bude trvať približne sedem minút. Nezhromažďujú sa žiadne osobné údaje (vyhlásenie o používaní osobných údajov).