You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Why does Flutter cold start take significantly longer on Impeller/OpenGL ES than Impeller/Vulkan? #190618
when disable impeller on infinix x6835 here is startuptrace
{
"engineEnterTimestampMicros": 747668093297,
"timeToFrameworkInitMicros": 1044200,
"timeToFirstFrameRasterizedMicros": 2297655,
"timeToFirstFrameMicros": 1083789,
"timeAfterFrameworkInitMicros": 39589
}
when enable impeller on infinix x6835 here is startuptrace this device use impeller rendering backend opengles because it not support vulkan
{
"engineEnterTimestampMicros": 748152180499,
"timeToFrameworkInitMicros": 1012992,
"timeToFirstFrameRasterizedMicros": 4899094,
"timeToFirstFrameMicros": 1041987,
"timeAfterFrameworkInitMicros": 28995
}
this is flutter doctor -v result
macbookpro@192 ~ % flutter doctor -v
[✓] Flutter (Channel stable, 3.44.1, on macOS 15.7.1 24G231 darwin-x64, locale
en-US) [4.6s]
• Flutter version 3.44.1 on channel stable at
/Users/macbookpro/flutterdev/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 924134a (2 months ago), 2026-05-29 12:13:22 -0400
• Engine revision c416acf
• Dart version 3.12.1
• DevTools version 2.57.0
• Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop,
enable-windows-desktop, enable-android, enable-ios, cli-animations,
enable-native-assets, enable-swift-package-manager,
omit-legacy-version-file, enable-lldb-debugging, enable-uiscene-migration
[✓] Android toolchain - develop for Android devices (Android SDK version 36.1.0)
[10.8s]
• Android SDK at /Users/macbookpro/Library/Android/sdk
• Emulator version 36.3.10.0 (build_id 14472402) (CL:N/A)
• Platform android-37.0, build-tools 36.1.0
• ANDROID_HOME = /Users/macbookpro/Library/Android/sdk
• ANDROID_SDK_ROOT = /Users/macbookpro/Library/Android/sdk
• Java binary at: /Applications/Android
Studio.app/Contents/jbr/Contents/Home/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.8+-14196175-b1038.72)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 26.2) [8.5s]
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 17C52
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [21ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Network resources [1,229ms]
• All expected network resources are available.
• No issues found!
this is the gpu of device infinix x6835 MediaTek Helio G37
i have attach below full stacktrace of startup of this device and this device use impeller rendering backend opengles kindly priortize this issue as we face warning in google play because its policy is less than 5 seconds cold start
Hi @abdullah517, could you try re-running your performance testing at main/master instead of stable? We have some recent changes that should improve startup time for Impeller with the OpenGL backend.
In general vulkan is going to be faster than opengles. If they were the same speed we wouldn't have gone through the trouble to implement the vulkan backend =). Vulkan allows use to do a bit more work at compilation time that speeds up initialization.
On windows I was seeing a huge difference with debug builds versus profile builds too, for what it's worth. There are slow things happening to maintain the ability to debug the engine.
Activity
jtmcdole commentedon Aug 5, 2026
Do you have any data to share with us (offline if needed) as "significantly" is not a measurable artifact.
It is expected that they are not going to be the same, but without data I can't tell you if your case is expected.
Vulkan and OpenGL are two different backends for different eras of computer graphics.
abdullah517 commentedon Aug 6, 2026
when disable impeller on infinix x6835 here is startuptrace
{
"engineEnterTimestampMicros": 747668093297,
"timeToFrameworkInitMicros": 1044200,
"timeToFirstFrameRasterizedMicros": 2297655,
"timeToFirstFrameMicros": 1083789,
"timeAfterFrameworkInitMicros": 39589
}
when enable impeller on infinix x6835 here is startuptrace this device use impeller rendering backend opengles because it not support vulkan
{
"engineEnterTimestampMicros": 748152180499,
"timeToFrameworkInitMicros": 1012992,
"timeToFirstFrameRasterizedMicros": 4899094,
"timeToFirstFrameMicros": 1041987,
"timeAfterFrameworkInitMicros": 28995
}
jtmcdole commentedon Aug 7, 2026
2.6 seconds is not expected. We dont' have this gpu in our device lab. Can you give us:
flutter doctor -vWe have a bug template specifically for these types of reports to help the team diagnose issues: https://github.com/flutter/flutter/issues/new?template=05_performance_speed.yml
abdullah517 commentedon Aug 7, 2026
this is flutter doctor -v result
macbookpro@192 ~ % flutter doctor -v
[✓] Flutter (Channel stable, 3.44.1, on macOS 15.7.1 24G231 darwin-x64, locale
en-US) [4.6s]
• Flutter version 3.44.1 on channel stable at
/Users/macbookpro/flutterdev/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 924134a (2 months ago), 2026-05-29 12:13:22 -0400
• Engine revision c416acf
• Dart version 3.12.1
• DevTools version 2.57.0
• Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop,
enable-windows-desktop, enable-android, enable-ios, cli-animations,
enable-native-assets, enable-swift-package-manager,
omit-legacy-version-file, enable-lldb-debugging, enable-uiscene-migration
[✓] Android toolchain - develop for Android devices (Android SDK version 36.1.0)
[10.8s]
• Android SDK at /Users/macbookpro/Library/Android/sdk
• Emulator version 36.3.10.0 (build_id 14472402) (CL:N/A)
• Platform android-37.0, build-tools 36.1.0
• ANDROID_HOME = /Users/macbookpro/Library/Android/sdk
• ANDROID_SDK_ROOT = /Users/macbookpro/Library/Android/sdk
• Java binary at: /Applications/Android
Studio.app/Contents/jbr/Contents/Home/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.8+-14196175-b1038.72)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 26.2) [8.5s]
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 17C52
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [21ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Connected device (2 available) [9.9s]
• macOS (desktop) • macos • darwin-x64 • macOS 15.7.1 24G231 darwin-x64
• Chrome (web) • chrome • web-javascript • Google Chrome 151.0.7922.76
[✓] Network resources [1,229ms]
• All expected network resources are available.
• No issues found!
this is the gpu of device infinix x6835 MediaTek Helio G37
i have attach below full stacktrace of startup of this device and this device use impeller rendering backend opengles kindly priortize this issue as we face warning in google play because its policy is less than 5 seconds cold start
start_up_info.json
start_up_timeline.json
walley892 commentedon Aug 10, 2026
Hi @abdullah517, could you try re-running your performance testing at main/master instead of stable? We have some recent changes that should improve startup time for Impeller with the OpenGL backend.
gaaclarke commentedon Aug 10, 2026
In general vulkan is going to be faster than opengles. If they were the same speed we wouldn't have gone through the trouble to implement the vulkan backend =). Vulkan allows use to do a bit more work at compilation time that speeds up initialization.
On windows I was seeing a huge difference with debug builds versus profile builds too, for what it's worth. There are slow things happening to maintain the ability to debug the engine.
abdullah517 commentedon Aug 11, 2026
Now here is the latest comparision by using Flutter 3.47.0-1.0.pre-502 • channel master branch here is stacktrace
start_up_info.json
and the old flutter 3.44.1 stable stacktrace is this
start_up_info.json