Skip to content

[ios] Swiping a listview containing platform views has noticeable jitter on Promotion devices #116640

@0xZOne

Description

@0xZOne

After flutter/engine#37434 landed, there is still noticeable jitter when swiping a listview containing platform views on the iPhone 13 Pro Max. However, it's very smooth on non-ProMotion devices, e.g., iPhone 8. As shown in the video below.

/cc @cyanglaz

RPReplay_Final1670398614.MP4

Confusingly, reducing the frame rate to 80 makes the swiping smoother, but reducing it to 60 is just as bad as 120.

According to the official documentation (link), the issue seems to be that the frame rate the system finally chooses is 80, but the flutter rendering pipeline is 120. ;-)

Core Animation arbitrates all the animations it presents on the screen and determines the refresh rate at any particular time.

image

Steps to Reproduce

  1. git clone -b task/displaylink [email protected]:0xZOne/platform_view_performance.git
  2. cd platform_view_performance
  3. flutter run

Related issue: #101653

flutter doctor -v
[✓] Flutter (Channel main, 3.7.0-3.0.pre.14, on macOS 12.6 21G115 darwin-x64, locale zh-Hans-CN)
    • Flutter version 3.7.0-3.0.pre.14 on channel main at /Users/zero/fvm/versions/main
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18534a8e4c (2 days ago), 2022-12-04 17:44:35 -0500
    • Engine revision 359a0a979a
    • Dart version 2.19.0 (build 2.19.0-444.0.dev)
    • DevTools version 2.20.0
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

Checking Android licenses is taking an unexpectedly long time...[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/zero/Library/Android/sdk
    • Platform android-33, build-tools 33.0.1
    • ANDROID_HOME = /Users/zero/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

[✓] Android Studio (version 2021.3)
    • 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 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.54.0

[✓] Connected device (2 available)
    • 艾尔玛的iPhone (2) (mobile) • 00008110-001A30960238401E • ios        • iOS 15.5 19F77
    • macOS (desktop)         • macos                     • darwin-x64 • macOS 12.6 21G115 darwin-x64

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work lista: platform-viewsEmbedding Android/iOS views in Flutter appsplatform-iosiOS applications specifically

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions