Oleh Yuqian Li dan Shams Zakhour

Kecepatan adalah pilar utama bagi Flutter. Artikel ini menyoroti peningkatan kinerja dari paruh kedua 2019 yang diterapkan oleh teman-teman dari komunitas Flutter. (Ya, memang terlambat, tetapi lebih baik terlambat daripada tidak sama sekali!)

Jika Anda telah membantu kinerja Flutter pada tahun 2020, kami akan membahasnya di postingan mendatang. Kami berharap bahwa dengan membagikan ini kepada Anda, komunitas Flutter, bisa menginspirasi Anda untuk membantu upaya kami!

Kuartal 4 (Okt-Des) 2019

Peningkatan yang terukur

70% pengurangan memori dalam scrolling cepat gambar besar

70% pengurangan memori dalam scrolling cepat gambar besar
kontributor:
liyuqian, dnfield, chinmaygarde

Pengurangan 40% dalam penggunaan CPU/GPU untuk animasi iOS sederhana
kontributor:
flar, liyuqian, hixie, chinmaygarde

Percepatan 41% untuk kinerja caret
kontributor:
garyqian, liyuqian, justinmc

Percepatan 10% untuk scrolling daftar dengan memperbaiki throttling cache raster
kontributor:
liyuqian, chinmaygarde, flar, cyanglaz, zsunkun

Percepatan 37x dalam waktu muat benchmark yang di-cache (Dasbor)
kontributor:
caseyhillers, tvolkert, digiter, jonahwilliams

Percepatan 2,3x untuk pembangunan APK
kontributor:
jonahwilliams, blasten, zanderso, xster

+103 metrik kinerja yang direkam per tindakan engine Flutter
kontributor:
liyuqian, digiter, keyonghan, godofredoc, cbracken

Pengurangan ukuran aplikasi 20%
kontributor:
mraleph, alexmarkov, rmacnak-google, mkustermann, sstrickl, aartbik

Percepatan 108x dalam kinerja Dart FFI
kontributor:
dcharkes, mkustermann, sjindel, alexmarkov

10–15% peningkatan kinerja dalam kode padat
kontributor:
aartbik, mkustermann, mraleph

Percepatan 2,2x dalam pengujian flutter dengan serializer inkremental baru
kontributor:
jensjoha, alexmarkov

Serialisasi biner Kernel yang lebih cepat 10% dengan memberikan petunjuk sisipan untuk Dart VM JIT
kontributor:
jensjoha, johnniwinther

Peningkatan kinerja 30% pada kode yang banyak async
kontributor:
cskau-g, mkustermann, mraleph

Perbaikan lainnya

Memperbaiki kebocoran memori saat menggunakan PlatformView di iOS

Memperbaiki kebocoran memori saat animasi diputar di iOS

Memperbaiki lebih banyak kebocoran memori iOS

Memulai pembenahan halaman Kinerja di flutter.dev dan menambahkan instruksi untuk mengukur aplikasi.

Memperbaiki pengukuran dan logika tunggu bingkai pertama

DevTools menambahkan mode timeline penuh dengan dukungan untuk async dan pelacakan terekam.

Plugin IntelliJ memperbaiki dukungan 120FPS

Banyak perbaikan pelacakan timeline berkat ByteDance

Kuartal 3 (Juli-Sept) 2019

Peningkatan yang terukur

Percepatan 1,5–5x untuk transformasi rect & point
kontributor:
flar, yjbanovdnfield

N/2–1 lebih sedikit bingkai yang hilang saat scrolling iPhone X/Xs
kontributor:
liyuqian, chinmaygarde, gaaclarke

Start dan shutdown engine 15% lebih cepat dengan inisialisasi paralel
kontributor:
gaaclarke, chinmaygarde, liyuqian

Startup lebih cepat 14,57 milidetik dan penggunaan memori 8MB yang lebih kecil untuk shader warm-up
kontributor:
gaaclarke, liyuqian, dnfield

Pengurangan ukuran kode 1,02%-8,04%
kontributor:
johnniwinther, aartbik, rmacnak-google, jensjoha, alexmarkov, mkustermann

Peningkatan hingga 2x untuk Flutter pada Fuchsia FPS; penjadwalan bingkai ditingkatkan
kontributor:
dreveman, amott, rosswang, mikejurka

Perbaikan regresi terukur

Percepatan 3x untuk BackdropFilter di iOS
kontributor:
lhkbob, liyuqian, flar

Untuk mencapai beberapa peningkatan besar (misalnya 3x), kinerja buruk kondisi masa lalu mungkin memainkan peran yang sama pentingnya dengan kerja keras dalam Kuartal 3 (Juli-Sept) 2019. Kami juga menandai beberapa perbaikan sebagai perbaikan tidak-biasa dari regresi yang sama besarnya. Meskipun demikian, kami menghargai pekerjaan tersebut. Tanpa itu, kami akan terus memiliki kinerja dan regresi yang buruk. Kami tidak ingin perbaikan besar mengerdilkan perbaikan yang lebih kecil. Mereka hanya tidak mendapatkan kinerja lama yang sangat buruk pada awalnya, yang dalam beberapa hal adalah hal baik.

Perbaikan lainnya

Kesimpulan

57% responden sangat puas dengan Flutter. Secara total, 94% sangat puas.

Berkat kontribusi dari komunitas kami, proporsi pengguna yang sangat puas dengan kinerja seluler Flutter meningkat dari 85% pada Kuartal 3 2019 menjadi 92% pada 2020. Terlepas dari upaya terbaik kami, beberapa kontribusi kinerja pada Kuartal 3 - Kuartal 4 2019 mungkin terlewatkan dalam update ini. Harap jangan ragu untuk memberi tahu kami tentang kontribusi yang terlewatkan, dan kami akan memasukkannya dalam update berikutnya.