Postagem de Yuqian Li e Shams Zakhour

A velocidade é um valor fundamental para o Flutter. Este artigo destaca as melhorias de desempenho que foram implementadas por membros da comunidade do Flutter a partir do segundo semestre de 2019. Sim, estamos atrasados, mas antes tarde do que nunca!

Caso você tenha contribuído com o desempenho do Flutter em 2020, abordaremos essas atualizações em uma publicação futura. Ao compartilhar estes resultados com você e a comunidade do Flutter, esperamos inspirar a todos a continuar contribuindo!

Quarto trimestre (de outubro a dezembro) de 2019

Melhorias em números

70% de redução de memória na rolagem rápida de imagens grandes

70% de redução de memória na rolagem rápida de imagens grandes
colaboradores:
liyuqian, dnfield e chinmaygarde

Redução de 40% no uso de CPU/GPU em animações simples para iOS
colaboradores:
flar, liyuqian, hixie e chinmaygarde

Aceleração de 41% no desempenho do cursor
colaboradores:
garyqian, liyuqian e justinmc

Aceleração de 10% para rolagem de lista com a correção do limite do cache de varredura
colaboradores:
liyuqian, chinmaygarde, flar, cyanglaz e zsunkun

Aceleração de 37x para o tempo de carregamento de referências em cache (Painel)
colaboradores:
caseyhillers, tvolkert, digiter e jonahwilliams

Aceleração de 2,3x em APKs de compilação
colaboradores:
jonahwilliams, blasten, zanderso e xster

Mais de 103 métricas de desempenho registradas por confirmação do mecanismo Flutter
colaboradores:
liyuqian, digiter, keyonghan, godofredoc e cbracken

Redução de 20% no tamanho do aplicativo
colaboradores:
mraleph, alexmarkov, rmacnak-google, mkustermann, sstrickl e aartbik

Aceleração de 108x no desempenho do Dart FFI
colaboradores:
dcharkes, mkustermann, sjindel e alexmarkov

10 a 15% de melhoria no desempenho em código restrito
colaboradores:
aartbik, mkustermann e mraleph

Aceleração de 2,2x no teste do Flutter com o novo serializador incremental
colaboradores:
jensjoha e alexmarkov

Serialização binária do kernel 10% mais rápida, oferecendo dicas em linha ao JIT do Dart VM
colaboradores:
jensjoha e johnniwinther

30% de melhoria no desempenho em código pesado assíncrono
colaboradores:
cskau-g, mkustermann e mraleph

Outras melhorias

Correção de vazamento de memória ao usar PlatformView no iOS

Correção de um vazamento de memória durante a reprodução da animação no iOS

Mais correções de vazamento de memória no iOS

Início da reformulação das páginas de desempenho no flutter.dev e inclusão de instruções sobre como medir o tamanho do aplicativo.

Correção da primeira lógica de espera e medição de frames

O DevTools adicionou o modo de linha do tempo completo com suporte para rastreamento assíncrono e gravado.

O plugin IntelliJ corrigiu o suporte para 120 FPS

Muitas melhorias no rastreamento da linha do tempo graças ao ByteDance

Terceiro trimestre (de julho a setembro) de 2019

Melhorias em números

Aceleração de 1,5–5x para transformações rect e point
colaboradores:
flar, yjbanovdnfield

N/2–1 poucos frames perdidos na rolagem do iPhone X/Xs
colaboradores:
liyuqian, chinmaygarde e gaaclarke

15% mais rapidez na inicialização e no encerramento do mecanismo com a inicialização paralela
colaboradores:
gaaclarke, chinmaygarde e liyuqian

Inicialização 14,57 ms mais rápida e uso de memória 8 MB menor para aquecimento do sombreador
colaboradores:
gaaclarke, liyuqian e dnfield

Redução de 1,02%-8,04% no tamanho do código
colaboradores:
johnniwinther, aartbik, rmacnak-google, jensjoha, alexmarkov e mkustermann

Aumento de até 2x na taxa de FPS do Fuchsia para o Flutter, com agendamento de frames aprimorado
colaboradores:
dreveman, amott, rosswang e mikejurka

Correções de regressão em números

Aceleração de 3x para BackdropFilter no iOS
colaboradores:
lhkbob, liyuqian e flar

Para alcançar altos níveis de melhoria (por exemplo, 3x), o mau desempenho do estado antigo provavelmente foi tão importante quanto o esforço realizado no terceiro trimestre (de julho a setembro) de 2019. Também marcamos algumas melhorias como correções significativas de regressões igualmente importantes. No entanto, somos muito gratos por essas contribuições. Sem elas, ainda teríamos resultados ruins em relação ao desempenho e às regressões. Nossa intenção não é desvalorizar as melhorias menores em detrimento das grandes. Apenas destacamos que não havia um desempenho muito ruim para ser melhorado, o que é também um bom sinal.

Outras melhorias

Conclusão

57% dos entrevistados estão muito satisfeitos com o Flutter. No total, 94% dos usuários estão positivamente satisfeitos.

Graças a essas contribuições da nossa comunidade, a proporção de usuários positivamente satisfeitos com o desempenho do Flutter em dispositivos móveis aumentou de 85% no terceiro trimestre de 2019 para 92% em 2020. Apesar do nosso esforço, talvez nem todas as contribuições de desempenho realizadas no terceiro e no quarto trimestres de 2019 tenham sido incluídas nesta atualização. Caso você não tenha encontrado alguma contribuição recente nesta publicação, avise nossa equipe para que possamos inclui-la na próxima atualização.