Como Utilizar o GitHub Copilot com Power Automate
O uso de IA no desenvolvimento de soluções com Power Platform evoluiu rapidamente com a introdução do Copilot nativo. No…

Aplicativos do Power Apps que consomem dados do SharePoint podem ficar lentos à medida que a lista cresce.
Carregamentos demorados, formulários que “travam” e telas que demoram para renderizar são sintomas comuns — e muitas vezes o problema não está no Power Apps em si, mas na forma como ele acessa os dados.
Neste artigo, você vai aprender técnicas práticas para melhorar a performance do seu aplicativo, mesmo com listas grandes.
Antes de aplicar correções, é importante identificar os principais gargalos de desempenho:
| Causa | Sintoma | Exemplo |
| Falta de delegação | Apenas 500–2.000 registros são retornados; app precisa “baixar” tudo para filtrar localmente | Filtro usando Or, CountIf, StartsWith sem suporte delegável |
| Consultas repetidas | A mesma lista é carregada várias vezes (em cada tela) | Filter(SharePointList, …) em múltiplos controles |
| Imagens e anexos grandes | App demora a carregar miniaturas | Campos Attachment ou Image com arquivos pesados |
| Fórmulas complexas no OnStart | App inicializa com múltiplos ClearCollect() e LookUp() | Espera longa no carregamento |
| Falta de cache local | Dados são buscados a cada navegação | Nenhum uso de variáveis ou coleções |
Ao abrir o app, armazene os dados que serão usados com frequência:
ClearCollect(colProtocolos, ‘Gestão de Laudos – Protocolos’);
ClearCollect(colAmostras, ‘Gestão de Laudos – Amostras’);
Dica:
Concurrent(
ClearCollect(colProtocolos, ‘Gestão de Laudos – Protocolos’),
ClearCollect(colAmostras, ‘Gestão de Laudos – Amostras’)
)

Evite fórmulas que forcem o app a processar dados localmente.
O segredo é manter o filtro “delegável”, ou seja, executado pelo SharePoint.
Correto:
Filter(‘Gestão de Laudos – Amostras’, ‘TD/Protocol ID’ = varProtocolID)
❌ Evite:
Filter(‘Gestão de Laudos – Amostras’, Text(‘TD/Protocol ID’) = Text(varProtocolID))
ou
Filter(‘Gestão de Laudos – Amostras’, StartsWith(Title, varBusca))
Use Search() apenas para pequenas coleções locais.
Confira a lista de funções delegáveis:
Delegation overview – Microsoft Learn

Em vez de carregar todas as listas no OnStart, traga apenas o necessário:

O OnStart deve conter apenas o essencial para o primeiro carregamento.
Demais dados podem ser carregados sob demanda (lazy loading).
Exemplo otimizado:
Concurrent(
Set(varUser, User()),
ClearCollect(colMenu, {Title:”Home”}, {Title:”Protocolos”})
)
Evite Navigate() ou SubmitForm() dentro do OnStart.

A lentidão no Power Apps não é inevitável — é um sinal de que seu app pode ser otimizado.
Seguindo as boas práticas de delegação, cache local, carregamento sob demanda e design leve, você pode reduzir drasticamente o tempo de resposta sem mudar a experiência do usuário.
O uso de IA no desenvolvimento de soluções com Power Platform evoluiu rapidamente com a introdução do Copilot nativo. No…
O uso do GitHub Copilot já é amplamente conhecido dentro de ambientes de desenvolvimento (IDEs). No entanto, sua versão para…
Fluxos no Power Automate que funcionam bem com poucos registros frequentemente apresentam degradação de performance ou falhas quando expostos a…