-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
Even though the performance overlay says the frame timing should easily produce 120fps, it feels different than native iOS apps on the iPhone 13- a bit slower and janky. this is not sksl jank
I took some slow motion videos to demonstrate the scrolling performance issue. When you play it back, scrub frame by frame and you will see there is a lot more jank between screen updates on the flutter app vs the native messages one.
You'll see the performance profiler reporting 2.7ms/frame which in theory should mean it's capable of 370fps+ but as you can see there is a big difference between the frames on the native messages app and the flutter sample app.
Flutter app video (iPhone 13 Pro):
https://drive.google.com/file/d/1Qwqty1dCoGUyIfB5t5WeBf1s6czQhzFZ/view
Native iOS messages app (iPhone 13 Pro):
https://drive.google.com/file/d/1w5cw_PaIiMPTlyLuq2dKo86-KsWr-FEN/view
In case Google Drive applies some processing to the videos, here's a zip file with them untouched:
https://drive.google.com/file/d/1kqDEEI50Bs1uctgePvHKM-hJEE0QUhrA/view
Steps to Reproduce
Example app available here:
https://github.com/acoutts/flutter_120hz_bug
Expected results:
Flutter apps should run as smooth as native apps.
Actual results:
Flutter performance does not match the native experience on 120hz devices.
Logs
[✓] Flutter (Channel stable, 2.5.1, on macOS 11.6 20G165 darwin-x64, locale en-US)
• Flutter version 2.5.1 at /Users/andrewcoutts/Projects/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision ffb2ecea52 (7 days ago), 2021-09-17 15:26:33 -0400
• Engine revision b3af521a05
• Dart version 2.14.2
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at /Users/andrewcoutts/Library/Android/sdk
• Platform android-30, build-tools 30.0.2
• ANDROID_HOME = /Users/andrewcoutts/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 13.0, Build version 13A233
• CocoaPods version 1.11.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
• 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 1.8.0_242-release-1644-b3-6222593)
[✓] VS Code (version 1.52.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.12.1
[✓] VS Code (version 1.61.0-insider)
• VS Code at /Applications/Visual Studio Code - Insiders.app/Contents
• Flutter extension version 3.26.0
[✓] Connected device (4 available)
• macOS (desktop) • macos • darwin-x64 • macOS 11.6 20G165 darwin-x64
• Chrome (web) • chrome • web-javascript • Google Chrome 94.0.4606.61
• No issues found!