Masoud-Dev
Masoud-Dev
خواندن ۱ دقیقه·۱ سال پیش

Impeller in flutter ایمپلر در فلاتر

فلاتر برای رندر صفحات از Renderer استفاده میکنه. Renderer یک نرم افزاریه که کد رو به پیکسل ترجمه میکنه.
خب برای اینکار از Skia استفاده میکرد و الان از ایمپلر.
اشکال Skia این بود که یه عالمه کد اضافه داره و برای فلاتر بهینه نشده

Skia renderer flutter
Skia renderer flutter


خب اگه بخوایم لوگوی فلاتر رو رندر کنیم فرایند زیر طی میشه تا بتونیم لوگو رو تو صفحه خودمون داشته باشیم.

Impeller architecture
Impeller architecture


داخل عکس بالا می‌بینیم که لوگو به یک Render Tree ترجمه میشه و بعد ترجمه میشه به لیستی از DrawPathOp که در سطح پایین‌تر خود این لیست به پیکسل ترجمه میشه.

حالا رندر انیمیشن‌های خیلی سنگین با Impeller‌ امکان پذیر شده و در یه آزمایش که داخل ویدیوی معرفی ایمپلر توسط تیم فلاتر می‌بینیم؛ یه انیمیشن سنگین با Skia فقط ۷ فریم بر ثانیه میده و با Impeller میتونیم تا ۶۰ فریم بر ثانیه داشته باشیم و این فوق العادست.

برای اطلاعات بیشتر به ویدیوی رسمی خود سایت فلاتر مراجعه کنید:
https://docs.flutter.dev/perf/impeller



فلاترflutter impellerflutter skiaflutter renderer impellerflutter impeller engine
شاید از این پست‌ها خوشتان بیاید