Padomi un ieteikumi pamatnes programmu veiktspējas uzlabošanai

Iepriekšējos rakstos apguvāt informāciju par izpildes rezultātiem un datu zvanu plūsmu, biežāk izplatītajiem lēnas veiktspējas avotiem un biežāk izplatītajām veiktspējas problēmām un atrisinājumiem audekla programmās. Priekšrocības varat gūt arī, ievērojot šajā rakstā sniegtos padomus un prakses, lai uzlabotu jūsu izveidoto lietotņu veiktspēju.

Datu savienojumu ierobežošana

Vienā programmā nepievienojiet vairāk par 30 savienojumiem. Programmas piedāvā jauniem lietotājiem pieteikties katrā savienotājā, tāpēc katrs papildu savienotājs palielina laiku, kas nepieciešams programmas startēšanai. Kad tiek palaista programma, katram savienotājam nepieciešami CPU resursi, atmiņa un tīkla joslas platums, kad programma pieprasa datus no šī avota.

Palaižot programmu, varat ātri novērtēt savas programmas veiktspēju, ieslēdzot izstrādātāja rīkus programmā Microsoft Edge vai Google Chrome. Jūsu programmai, visticamāk, būs nepieciešams ilgāks laiks nekā 15 sekundes, lai atgrieztu datus, ja tas bieži vien pieprasa datus no vairāk nekā 30 savienojumiem. Katrs pievienotais savienojums šajā ierobežojumā tiek skaitīts atsevišķi neatkarīgi no saistītā datu avota tipa,—piemēram, Microsoft Dataverse vai SQL Server tabulas vai saraksti, kas izveidoti, izmantojot Microsoft Lists.

Vadīklu skaita ierobežošana

Vienā programmā nepievienojiet vairāk par 500 vadīklām. Power Apps ģenerē HTML dokumenta objektu modeli, lai atveidotu katru vadīklu. Jo vairāk vadīklu tiek pievienots, jo lielākas ir ģenerēšanas laika Power Apps vajadzības.

Dažos gadījumos varat iegūt tādu pašu rezultātu un palaist programmu ātrāk, ja izmantojat galeriju, nevis atsevišķas vadīklas. Turklāt, iespējams, vēlēsities samazināt vadīklu tipu skaitu tajā pašā ekrānā. Dažas vadīklas (piemēram, PDF skatītājs, datu tabula un kombinētais lodziņš) izvelk lielus izpildes skriptus un patērē vairāk laika, lai atveidotu.

Rekvizīta OnStart optimizēšana

Izmantojiet funkciju ClearCollect, lai dati tiktu kešoti lokāli, ja tas netiek mainīts lietotāja sesijas laikā. Tāpat izmantojiet apdudāvāšanas funkciju Vienlaikus, lai datu avotus ielādētu vienlaikus; tas var samazināt laiku, kas programmai nepieciešams, lai ielādētu datus uz pusēm. Papildinformācija: Vienlaicīgā funkcija Power Apps

Bez funkcijas Vienlaikus šī formula ielādē katru no četrām tabulām pa vienai:

ClearCollect( Product, '[SalesLT].[Product]' );
ClearCollect( Customer, '[SalesLT].[Customer]' );
ClearCollect( SalesOrderDetail, '[SalesLT].[SalesOrderDetail]' );
ClearCollect( SalesOrderHeader, '[SalesLT].[SalesOrderHeader]' )

Šo uzvedību varat apstiprināt pārlūkprogrammas izstrādātāja rīkos, kā parādīts šajā attēlā.

Shēma, kurā parādītas četras tabulas, kas tiek ielādētas vienu pēc otras.

To pašu formulu var iekļaut Concurrent funkcijā, lai saīsinātu kopējo operācijas vajadzībām nepieciešamo laiku:

Concurrent( 
    ClearCollect( Product, '[SalesLT].[Product]' ),
    ClearCollect( Customer, '[SalesLT].[Customer]' ),
    ClearCollect( SalesOrderDetail, '[SalesLT].[SalesOrderDetail]' ),
    ClearCollect( SalesOrderHeader, '[SalesLT].[SalesOrderHeader]' ))

Ja šī izmaiņa ir mainīta, lietojumprogramma paralēli atsaitē tabulas, kā tas parādīts nākamajā attēlā.

Shēma, kurā parādītas četras tabulas, kas tiek ielādētas vienlaikus.

Piezīme

Lai iegūtu papildinformāciju par veiktspējas problēmām un atrisinājumu saistībā ar OnStart, lasiet OnStart notikums ir jāpielāgo.

Padoms

Mēs iesakām lietot App.StartScreen, jo tas vienkāršo programmas palaišanu un uzlabo programmas veiktspēju.

Kešatmiņas uzmeklēšanas dati

Izmantojiet funkciju Iestatīt, lai no uzmeklēšanas tabulām ierakstītu kešatmiņā datus, neļaujot atkārtoti izgūt datus no avota. Izmantojot šo paņēmienu, tiek optimizēta veiktspēja, ja dati sesijas laikā, visticamāk, netiks mainīti. Kā norādīts šajā piemērā, dati tiek izgūti no avota vienreiz un pēc tam uz tiem atsaucas lokāli, līdz lietotājs aizver lietotni.

Set(CustomerOrder, Lookup(Order, id = “123-45-6789”));
Set(CustomerName, CustomerOrder.Name);
Set(CustomerAddress, CustomerOrder.Address);
Set(CustomerEmail, CustomerOrder.Email);
Set(CustomerPhone, CustomerOrder.Phone);

Šī metode noder vairāk tādiem datiem kā kontaktinformācija, noklusējuma vērtības vai lietotāja informācija, kas bieži nemainās. Šo metodi var izmantot arī ar funkcijām Noklusējums un Lietotājs.

Izvairīšanās no vadīklu atkarības starp ekrāniem

Lai uzlabotu veiktspēju, programmas ekrāni tiek ielādēti atmiņā tikai pēc nepieciešamības. Šo optimizāciju var traucēt, ja, piemēram, tiek ielādēts 1. ekrāns un viena no tās formulām izmanto vadīklas rekvizītu no 2. ekrāna. Tagad 2. ekrāns ir jāielādē, lai izpildītu atkarību pirms 1. ekrāna parādīšanas. Iedomājieties, 2. ekrānam ir atkarība 3. ekrānā, kam ir cita atkarība 4. ekrānā un tā tālāk. Šī atkarības ķēde var izraisīt daudzu ekrānu ielādes.

Šī iemesla dēļ nelietojiet formulu atkarības starp ekrāniem. Dažos gadījumos var izmantot globālo mainīgo vai kolekciju, lai koplietotu informāciju starp ekrāniem.

Pastāv izņēmums: Iepriekšējā piemērā iedomājieties, ka vienīgais veids, kā parādīt 1. ekrānu, ir navigācijā no 2. ekrāna. Pēc tam, ielādējot 1. ekrānu, 2. ekrāns jau būs ielādēts. Lai izpildītu 2. ekrāna atkarību, nav nepieciešams papildu darbs, tādēļ tas neietekmē veiktspēju.

Lietošanas deleģēšana

Ja iespējams, izmantojiet funkcijas, kas deleģē datu apstrādi datu avotam, nevis izgūst datus lokālajā ierīcē apstrādei. Ja lietojumprogrammai ir lokāli jāapstrādā dati, operācijai ir nepieciešams daudz vairāk apstrādes jaudas, atmiņas un tīkla joslas platuma, jo īpaši, ja datu kopa ir liela.

Padoms

Informāciju par deleģējamām funkcijām, kas tiek atbalstītas konkrētos savienotājos, skatiet savienotāja dokumentācijā.

Kā deleģējamo funkciju piemēru ņemiet vērā ID kolonnu, kas ir definēta kā datu tips Skaitlis sarakstā, kas izveidots ar Microsoft Lists. Nākamajā piemērā norādītās formulas atgriezīs rezultātus, kā paredzēts. Taču pirmo formulu var deleģēt, savukārt otro nevar.

Formula Deleģējama?
Filter ('List data source', ID = 123 )
Filter(`List data source', ID ="123")

Tā kā mēs pieņemam, ka kolonna ID SharePoint ir definēta ar Skaitļa datu tipu, labās puses vērtībai ir jābūt skaitliski mainīgajam, nevis virknes mainīgajam. Pretējā gadījumā šī neatbilstība var izraisīt formulas deaktivizēšanu.

Izmantot Nevēlamu funkciju un nepiemērotu datu rindu ierobežojumu izmantošana nedeleģējamiem vaicājumiem var ietekmēt programmas veiktspēju. Papildinformācija: Izpratne par deleģēšanu pamatnes programmā

Aizkavētas ielādes lietošana

Ieslēdziet priekšskatījuma funkciju aizkavētas ielādes gadījumā , ja jūsu programmai ir vairāk nekā 10 ekrāni, bez kārtulām un daudzām vadīklām, kas atrodas vairākos ekrānos un ir tieši saistītas ar datu avots. Ja veidojat šāda veida programmu un neiespējojat šo līdzekli, programmas veiktspēja var tikt ietekmēta, jo visu ekrānu vadīklām jābūt aizpildītām pat ekrānos, kas nav atvērti. Turklāt visi programmas ekrāni ir jāatjaunina ikreiz, kad tiek veiktas datu avota izmaiņas, piemēram, kad lietotājs pievieno kādu ierakstu.

Darbs ar lielām datu kopām

Izmantojiet datu avotus un formulas, ko var deleģēt, lai nodrošinātu, ka jūsu programmas darbojas labi, bet lietotāji var piekļūt visai informācijai, kas viņiem nepieciešama, un izvairīties no 2000. gada datu rindu ierobežojuma noteikšanas nedeleģējamiem vaicājumiem. Datu ierakstu kolonnām, kurās lietotāji var meklēt, filtrēt vai kārtot datus, izmantojiet indeksus kolonnās, kā aprakstīts datu avotos, piemēram, SQL Server vai SharePoint.

Piezīme

Lai iegūtu papildinformāciju par to, cik lielas datu kopas var izraisīt bieži izplatītas veiktspējas problēmas dažādās platformās, izlasiet rakstu Lielu datu kopu lēna ielādēšana dažādās platformās.

Programmu regulāra atkārtota publicēšana

Veidotājiem tiek ieteikts regulāri publicēt savas programmas. Tāpēc kā Power Apps platforma ir pastāvīgi optimizēta un izvietota, jūsu lietotne tiek atjaunota jaunākajās platformas optimizācijās, kad to atkārtoti publicējat.

Izvairīšanās no vienas un tās pašas formulas atkārtošanās vairākās vietās

Ja vairāki rekvizīti izpilda to pašu formulu (īpaši tad, ja tā ir sarežģīta), apsveriet iespēju to iestatīt vienreiz un pēc tam, atsaucoties uz pirmā rekvizīta izvadi, nākamajos parametros. Piemēram, neiestatiet DisplayMode vadīklas A, B, C, D un E rekvizītu saliktajai formulai. Tā vietā iestatiet A DisplayMode rekvizītu saliktajai formulai, iestatiet B DisplayMode rekvizīta A rezultātam, kas ir DisplayMode rekvizīta rezultāts, un tā tālāk elementiem C, D un E.

DelayOutput iespējošana visām teksta ievades vadīklām

Ja jums ir vairākas formulas vai kārtulas, kas atsaucas uz vadīklas Teksta ievade vērtību, iestatiet DelayedOutput vadīklas rekvizītu uz true. Šīs vadīklas Teksta rekvizīts tiks atjaunināts tikai pēc tam, kad ātri pēc kārtas ievadītie taustiņsitieni būs apstājušies. Formulas vai kārtulas netiks palaistas tik bieži, un programmu veiktspēja tiks uzlabota.

Izvairīšanās no Form.Updates lietošanas kārtulās un formulās

Ja kārtulā vai formulā atsaucaties uz lietotāja ievades vērtību, izmantojot Form.Updates mainīgo, tā atkārtojas visās veidlapas datu kartēs un katru reizi izveido ierakstu. Lai padarītu programmu efektīvāku, norādiet vērtību tieši no datu kartes vai kontrolvērtības.

Izmantojiet DelayItemLoading un Ielādes skaitītāju, lai uzlabotu galerijas veiktspēju

Atkarībā no konfigurācijas galerijai var būt nepieciešams vairāk laika, lai atveidotu redzamās rindas. Ir pāris veidi, kā uzlabot veiktspēju.

  • Vienkāršojiet veidni. Piemēram, apsveriet iespēju samazināt vadīklu skaitu, atsauces uz uzuzmeklēšanu.
  • Galerijas ar sarežģītām veidnēm var izmantot, iestatot DelayItemLoading uz true un LoadingSpinner uz LoadingSpinner.Controls. Šīs izmaiņas uzlabos uztveri, kad atveidošanas laiks būs garāks. DelayItemLoading arī atveidos veidnes, kas ļauj pārējās ekrāna daļas atveidot ātrāk, jo gan ekrāns, gan galerija nesacenšas par resursiem.

Iespējiet programmas iepriekšēju ielādi, lai uzlabotu veiktspēju

Ja vēlaties, veiktspējas uzlabošanai varat iepriekš ielādēt savu programmu

  1. Piesakieties Power Apps un pēc tam izvēlnē atlasiet vienumu Programmas.

  2. Atlasiet Citas darbības (...) tai programmai, kuru vēlaties kopīgot, un pēc tam atlasiet Iestatījumi.

  3. Iestatījumu panelī pārslēdziet vienumu Iepriekš ielādēt programmu veiktspējas uzlabošanai uz . Pēc tam programma tiks iepriekš ielādēta.

Iepriekš ielādējiet programmu, lai uzlabotu veiktspēju.

  1. Lai izmaiņas stātos spēkā programmas, kas iegultas risinājumā Teams, noņemiet savu programmu un pievienojiet to vēlreiz risinājumam Teams.

    Piezīme

    Tas padara kompilētos lietotnes līdzekļus pieejamus, izmantojot neautentificētus galapunktus, lai tos varētu ielādēt pirms autentifikācijas. Tomēr lietotāji joprojām var izmantot jūsu lietotni, lai piekļūtu datiem, izmantojot savienotājus, tikai pēc autentifikācijas un autorizācijas pabeigšanas. Tādējādi tiek nodrošināts, ka dati, ko programma izgūst no datu avotiem, nebūs pieejami neautorizētiem lietotājiem. Kompilētie programmas līdzekļi ietver JavaScript failu kolekciju, kurā ir teksts, kas autorizēts programmas vadīklās (piemēram, vadīklās), multivides līdzekļi (piemēram PCF , attēli), programmas nosaukums un vides vietrādis URL, kurā atrodas programma.

    Parasti lietotnēm ir jāizgūst multivide un informācija no datu avotiem, izmantojot savienojumus. Ja programmai ir jāpievieno multivide un informācija, nenākot no savienojuma, un tā tiek uzskatīta par sensitīvu, iespējams, vēlēsities atspējot šo iestatījumu. Ņemiet vērā, ka, atspējojot šo iestatījumu, lietotāji gaidīs nedaudz ilgāk, lai piekļūtu lietotnei.

Ierīcē saglabātie lietotņu dati

Lai lietotāji varētu ātrāk izgūt programmas informāciju, kad programma tiek startēta, noteikti dati tiek lokāli saglabāti jūsu ierīcē pārlūkprogrammas kešatmiņā. Saglabātā informācija ietver detalizētu informāciju par programmu, vidi un savienojumu. Šie dati tiks saglabāti pārlūkprogrammā, pamatojoties uz katras pārlūkprogrammas krātuves ierobežojumiem. Lai notīrītu saglabātos datus, skatiet norādījumus katrai pārlūkprogrammai.

Nākamās darbības

Pārskatiet kodēšanas standartus programmu veiktspējas maksimizēšanai un programmu uzturēšanas atvieglošanai.

Skatiet arī

Pamatnes programmas izpildes fāžu un datu izsaukumu plūsmas saprašana
Biežāk izplatītās pamatnes programmas veiktspējas problēmas un risinājumi
Bieži izplatīti lēnas veiktspējas iemesli audekla programmā
Biežākās problēmas un to risinājumi lietojumprogrammai Power Apps
Problēmu novēršana saistībā ar startēšanas problēmām pakalpojumā Power Apps

Piezīme

Kādas ir jūsu dokumentācijas valodas preferences? Aizpildiet īsu aptauju. (ņemiet vērā, ka aptauja ir angļu valodā)

Aptaujai būs nepieciešamas aptuveni septiņas minūtes. Nekādi personas dati netiks vākti (paziņojums par konfidencialitāti).