TGViewer
Flutter & Dart | Мобильный трудоголик Flutter & Dart | Мобильный трудоголик @hardworkerflutter · 405 subscribers
Post #26 270
👣 Flutter на Авроре получил апгрейд: что дает включение Impeller

В мире Flutter уже несколько лет говорят о Impeller - новом рендеринговом движке от Google, призванном решить главную боль разработчиков: фризы и лаги анимаций «на холодную». Пока для iOS он включен по умолчанию, а для Android только на новых версиях, команда разработки под ОС Aurora решила не оставаться в стороне и добавила экспериментальную поддержку этой технологии в свою экосистему. Разберем, что это дает на практике и стоит ли спешить с включением.


Чем Impeller отличается от Skia и почему это важно для Aurora:

Долгое время Flutter полагался на Skia - мощный, но универсальный графический движок. Его слабое место - компиляция шейдеров в рантайме, которая и вызывает те самые пресловутые фризы при первом отображении сложных интерфейсов. Решения существовали (прекомпиляция, прогрев приложения), но они усложняли разработку.

Impeller - это ответ Google на эту проблему. Его ключевая особенность - предсказуемое время отрисовки каждого кадра за счет отказа от компиляции шейдеров на лету. Для Аврора, которая позиционируется как стабильная и производительная отечественная платформа, такая оптимизация особенно актуальна, так как напрямую влияет на пользовательское восприятие приложений.


Особенности реализации - работа с OpenGL и текущие ограничения:

На Aurora графика работает через стек Wayland + OpenGL. Команда разработки интегрировала OpenGL-бэкенд Impeller, который в upstream-версии Flutter имеет статус экспериментального и не рекомендуется к использованию. Потребовалась доработка: например, реализация корректного преобразования матриц для поддержки альбомной ориентации.

Важный нюанс: включение Impeller на Аврора - это опция, а не замена по умолчанию. Активируется она флагом --enable-impeller при запуске. Это разумный подход, учитывая, что не все сценарии отрисовки в этом режиме стабильны, возможны артефакты в отдельных виджетах (как в примере с Checkbox).


Цифры и факты - что показывают тесты производительности:

Тестирование на планшете с Aurora 5.2.0 дает неоднозначную, но в целом обнадеживающую картину:

🔵Холодный запуск и навигация. В тестовом приложении переход на новый экран с анимацией при использовании Skia вызывал фризы как на UI-, так и на Raster-потоке. С Impeller фриз остался только на UI-потоке, в то время как GPU-рендеринг (Raster) выдавал стабильные 60 fps. Это прямое свидетельство того, что Impeller справляется со своей основной задачей - стабилизацией отрисовки.

🔵Сравнение под нагрузкой. В синтетическом тесте, нагружающем UI и Raster, результаты оказались неоднозначными. При выполнении стандартных операций, таких как построение списков или рисование на Canvas, разница в производительности между Skia и Impeller была практически незаметна. Однако ключевое преимущество нового рендерера проявилось в специализированном сценарии: отрисовке сложных визуальных эффектов. При работе с тенями, размытиями, градиентами и прозрачностью производительность Raster-потока с Impeller увеличилась примерно вдвое, что демонстрирует его существенное превосходство в данной нише.


🔗 Ссылка на подробную статью


💡 Вывод:

Поддержка Impeller в операционной системе Аврора - это важный, но экспериментальный шаг. Новый рендерер демонстрирует реальные преимущества в стабильности отрисовки и производительности сложных эффектов, приближая опыт разработки под Aurora к мировым стандартам Flutter. Однако из-за сырости OpenGL-реализации и возможных артефактов в интерфейсе переходить на него на проде пока рано. Для Аврора это возможность, а не обязательство - стратегический задел на будущее, когда Impeller окончательно созреет.


➡️ Flutter & Dart | Мобильный трудоголик
  • 👍 2
  • 🔥 1
More from @hardworkerflutter
  1. Sep 29, 2026👣 Как встроить Unity игру во Flutter приложение Flutter отлично справляется с интерфейсом…
  2. Sep 25, 2026👨‍💻 Гонка за самую мощную ИИ-модель подходит к концу? Последние несколько лет за развити…
  3. Sep 22, 2026👣 Как async* упрощает работу с потоками в Dart В Dart есть инструмент, который многие нед…
  4. Sep 15, 2026👣 Влияет ли выбор state management на производительность Flutter? Можно ли ускорить Flutt…
  5. Sep 11, 2026👣 Плагин Flutter для VS Code обновился до версии 3.142.0 Вышло обновление плагина Flutter…
  6. Sep 8, 2026👣 Архитекторы, тестировщики и кодеры. Создаем мультиагентную команду Разработка с ИИ-аген…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →