Galerias com muitos controles em tela tomam mais tempo para rolarem e aparecerem os controles


Quando navegando por uma galeria do PowerApps com diversos controles do tipo edição, o tempo de carregamento para rolagem leva mais tempo que o esperado, deixando muitas vezes a janela do usuário em branco ou uma mensagem "aguarde" até que os controles sejam montados em tela. Isso ocorre a cada rolagem que o usuário fizer. Em casos onde a rolagem é extremamente excessiva esse tempo de espera pode alongar. 

Sumário

Este comportamento ocorre devido ao número de controles que existem em tela, principalmente em galerias, pois o número deles é multiplicado por quantas linhas existirem. Exemplo: em uma galeria que contenha 7 controles editáveis e existam 200 registros a serem mostrados, neste caso: 200 x 7 = 1,400 controles editáveis sendo mostrados em tela.

Para não gerar uma carga excessiva para o PowerApps, ele faz o processo de paginação por demanda, onde quando o usuário fizer a rolagem o PowerApps mostrará os próximos controles visíveis naquele momento.

Outra causa pertinente é o acesso a dados de fontes mais lentas, como listas de SharePoint sem filtros, ou a campos sem índice.

Solução

Uma forma de melhorar esse comportamento é habilitar "Enhanced performance for hidden controls", "Formula-level prefetching" e "Keep recently visited screens in memory".

A primeira função caso haja controles ocultos dentro da galeria, eles não serão processados caso não sejam utilizados, o ganho de desempenho pode chegar a 50% de acordo com testes.

A segunda opção melhora a execução dos dados dentro da aplicação, os dados vindos de fontes ou de coleções locais.

A terceira auxilia para carregar controles de telas já visitadas, pois os coloca em memória para uso posterior.

👉 Importante: caso nenhuma destas opções venha a ter efeito prático, recomenda-se mudar a abordagem do layout removendo controles das telas ou paginando em telas diferentes caso possível.

Comentários

Postagens mais visitadas deste blog

Evitando delegação em listas de SharePoint

Criando registros na coluna "Person" do SharePoint (SPO) com a função Patch do Power Apps

Power Automate exportando conteúdo de lista para PDF