Skip to content

Performance regression with Impeller rendering compared to Skia backend #169423

@mixedteam236

Description

@mixedteam236

Steps to reproduce

  1. Clone the repro project:

    git clone https://github.com/mixedteam236/impeller_test.git
    cd impeller_test
    
  2. Ensure to be on Flutter 3.32.0 (stable) or newer:

    flutter --version
    
  3. Run the app with Impeller enabled (release mode):

    flutter run --release
    
  4. Observe the animation performance after tapping the button at bottom right.

  5. Stop the app, then run with Impeller disabled (Skia default):

    flutter run --release --no-enable-impeller
    
  6. Compare the smoothness and reported FPS between both runs.

Expected behavior
With Impeller enabled, animations should be as smooth as (or smoother than) the Skia backend, maintaining a steady 60 FPS on supported devices in release mode.

Actual behavior
Impeller enabled: Frame rate drops significantly, with noticeable stuttering and frame skips.

Impeller disabled (Skia): Consistent 60 FPS, smooth animations across the board.

Code sample

Code sample

See GitHub repository: https://github.com/mixedteam236/impeller_test.git

Performance profiling on master channel

  • The issue still persists on the master channel

Timeline Traces

dart_devtools_2025-05-25_00_57_25.809.zip

Video demonstration

Video demonstration
impeller_enabled_recorded_with_camera impeller_not_enabled_recorded_with_camera
impeller_enabled_recorded_with_camera.mp4
impeller_not_enabled_recorded_with_camera.mp4
impeller_enabled impeller_not_enabled
impeller_enabled.mp4
impeller_not_enabled.mp4

What target platforms are you seeing this bug on?

Android

OS/Browser name and version | Device information

Operating System: Android 15

Model: ASUS Zenfone 10 (AI2302)

SoC: Qualcomm Snapdragon 8 Gen 2 (SM8550-AB, 4 nm)

CPU: Octa-core (1×3.2 GHz Cortex-X3 + 2×2.8 GHz Cortex-A715 + 2×2.8 GHz Cortex-A710 + 3×2.0 GHz Cortex-A510)

GPU: Adreno 740

Memory (RAM): 8 GB LPDDR5X

ABI / Architecture: arm64-v8a (64-bit)

Does the problem occur on emulator/simulator as well as on physical devices?

Unknown

Is the problem only reproducible with Impeller?

Yes

Logs

Logs

impeller_test_log.txt

Flutter Doctor output

Doctor output
[√] Flutter (Channel stable, 3.32.0, on Microsoft Windows [Version 10.0.26100.4061], locale de-DE) [638ms]
    • Flutter version 3.32.0 on channel stable at c:\Progs\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision be698c48a6 (5 days ago), 2025-05-19 12:59:14 -0700
    • Engine revision 1881800949
    • Dart version 3.8.0
    • DevTools version 2.45.1

[√] Windows Version (11 Home 64-bit, 24H2, 2009) [2,9s]

[√] Android toolchain - develop for Android devices (Android SDK version 35.0.0) [3,1s]
    • Android SDK at c:\Progs\AndroidSdk
    • Platform android-36, build-tools 35.0.0
    • ANDROID_HOME = c:\Progs\AndroidSdk
    • Java binary at: C:\Users\Me\AppData\Local\Programs\Android Studio\jbr\bin\java
      This is the JDK bundled with the latest Android Studio installation on this machine.
      To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
    • Java version OpenJDK Runtime Environment (build 21.0.6+-13368085-b895.109)
    • All Android licenses accepted.

[√] Chrome - develop for the web [337ms]
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[X] Visual Studio - develop Windows apps [335ms]
    X Visual Studio not installed; this is necessary to develop Windows apps.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[√] Android Studio (version 2024.3.2) [96ms]
    • Android Studio at C:\Users\Me\AppData\Local\Programs\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.6+-13368085-b895.109)

[√] IntelliJ IDEA Community Edition (version 2024.2) [94ms]
    • IntelliJ at D:\Progs\IntelliJ
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin version 242.26775.15

[√] IntelliJ IDEA Community Edition (version 2025.1) [51ms]
    • IntelliJ at C:\Users\Me\AppData\Local\Programs\IntelliJ IDEA Community Edition
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin version 251.25410.28

[√] Connected device (4 available) [314ms]
    • ASUS AI2302 (mobile) • RCAIB700B06699H • android-arm64  • Android 15 (API 35)
    • Windows (desktop)    • windows         • windows-x64    • Microsoft Windows [Version 10.0.26100.4061]
    • Chrome (web)         • chrome          • web-javascript • Google Chrome 136.0.7103.114
    • Edge (web)           • edge            • web-javascript • Microsoft Edge 135.0.3179.54

[√] Network resources [340ms]
    • All expected network resources are available.

! Doctor found issues in 1 category.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)e: impellerImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.found in release: 3.32Found to occur in 3.32found in release: 3.33Found to occur in 3.33has reproducible stepsThe issue has been confirmed reproducible and is ready to work onperf: speedPerformance issues related to (mostly rendering) speedplatform-androidAndroid applications specificallyteam-engineOwned by Engine teamtriaged-engineTriaged by Engine team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions