فلاتر برای رندر صفحات از Renderer استفاده میکنه. Renderer یک نرم افزاریه که کد رو به پیکسل ترجمه میکنه.
خب برای اینکار از Skia استفاده میکرد و الان از ایمپلر.
اشکال Skia این بود که یه عالمه کد اضافه داره و برای فلاتر بهینه نشده
خب اگه بخوایم لوگوی فلاتر رو رندر کنیم فرایند زیر طی میشه تا بتونیم لوگو رو تو صفحه خودمون داشته باشیم.
داخل عکس بالا میبینیم که لوگو به یک Render Tree ترجمه میشه و بعد ترجمه میشه به لیستی از DrawPathOp که در سطح پایینتر خود این لیست به پیکسل ترجمه میشه.
حالا رندر انیمیشنهای خیلی سنگین با Impeller امکان پذیر شده و در یه آزمایش که داخل ویدیوی معرفی ایمپلر توسط تیم فلاتر میبینیم؛ یه انیمیشن سنگین با Skia فقط ۷ فریم بر ثانیه میده و با Impeller میتونیم تا ۶۰ فریم بر ثانیه داشته باشیم و این فوق العادست.
برای اطلاعات بیشتر به ویدیوی رسمی خود سایت فلاتر مراجعه کنید:
https://docs.flutter.dev/perf/impeller