Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stuttering while scrolling PlatformViews only on iPhone 12 onwards (works on iPhone 7) #129632

Open
lucalooz opened this issue Jun 27, 2023 · 22 comments
Labels
a: platform-views Embedding Android/iOS views in Flutter apps c: performance Relates to speed or footprint issues (see "perf:" labels) e: device-specific Only manifests on certain devices engine flutter/engine repository. See also e: labels. P2 Important issues not at the top of the work list perf: speed Performance issues related to (mostly rendering) speed platform-ios iOS applications specifically team-ios Owned by iOS platform team triaged-ios Triaged by iOS platform team

Comments

@lucalooz
Copy link

lucalooz commented Jun 27, 2023

Details

We have performance issues with PlatformViews inside ListView only on iPhone 12 onwards.
Tested on iPhone 7, iPhone 7 iPhone 11, iPhone 12, iPhone 12 Pro, iPhone 13, iPhone 13 Pro and iPhone 14 Pro.

We can exclude ProMotion to be the culprit because iPhone 12, iPhone 12 Pro and iPhone 13 don't have it.

While scrolling on an iPhone 12 Pro we see strange stuttering (vsync?) with some slow raster phase that causes the frame rate to be unstable around 53/55 fps and sometimes drops to 48 fps.

On iPhone 7 and iPhone 11 the issue is not present with a mostly stable framerate.

Sample project available at https://github.com/llooz/flutter_ads_list_perf.

We're able to offer any kind of support to help solve this issue.

Here are some video recordings and tracings:

iphone 12 iphone 7
flutter-ads-perf-iphone12pro.MP4
flutter-ads-perf-iphone7.MP4

flutter-ads-perf-iphone-12-pro-trace.json.zip

flutter-ads-perf-iphone-7-trace.json.zip

Target Platform: iOS
Target OS version: any
Devices: iPhone 12, iPhone 12 Pro, iPhone 13, iPhone 13 Pro, iPhone 14, iPhone 14 Pro

Logs

Logs
[✓] Flutter (Channel stable, 3.10.5, on macOS 13.3.1 22E772610a darwin-arm64,
    locale it-IT)
    • Flutter version 3.10.5 on channel stable at /Users/lucalooz/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (2 weeks ago), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/lucalooz/Library/Android/sdk
    • Platform android-33, build-tools 33.0.1
    • ANDROID_HOME = /Users/lucalooz/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/lucalooz/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

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

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • 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
      17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (4 available)
    • IdeaSolutions-iPhone7 (mobile) • 02b7b207ed91e990333780ea7254fa82e8156f4b
      • ios            • iOS 14.8 18H17
    • iPhone di Luca (2) (mobile)    • 00008101-001058A20A80001E
      • ios            • iOS 16.5.1 20F75
    • macOS (desktop)                • macos
      • darwin-arm64   • macOS 13.3.1 22E772610a darwin-arm64
    • Chrome (web)                   • chrome
      • web-javascript • Google Chrome 114.0.5735.133

[✓] Network resources
    • All expected network resources are available.

• No issues found!
@lucalooz lucalooz added the from: performance template Issues created via a performance issue template label Jun 27, 2023
@danagbemava-nc danagbemava-nc added in triage Presently being triaged by the triage team and removed from: performance template Issues created via a performance issue template labels Jun 28, 2023
@danagbemava-nc
Copy link
Member

Hi @llooz, were the stack traces you collected above using the impeller rendering engine or skia?

Impeller is the default on stable 3.10+ so if you did not add the --no-enable-impeller argument when you run flutter run, it most likely used impeller.

If you used skia, can you also share the trace files for impeller?

Also, can you check on the master channel to see if the performance is any better? Please share the flutter doctor -v output of the master channel that you attempt this on?

Thank you

@danagbemava-nc danagbemava-nc added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Jun 28, 2023
@lucalooz
Copy link
Author

Hi @danagbemava-nc,
yes I'm using the impeller rendering engine.

I've also tried on master on an iPhone 12 Pro and the result is the same. I'm attaching a trace.

flutter-ads-perf-iphone-12pro-master-trace.json.zip

If you need more I'm here!
Thanks

doctor on master
[✓] Flutter (Channel master, 3.12.0-11.0.pre.55, on macOS 13.3.1 22E772610a
    darwin-arm64, locale it-IT)
    • Flutter version 3.12.0-11.0.pre.55 on channel master at
      /Users/lucalooz/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b6b417c250 (29 minutes ago), 2023-06-28 09:53:39 -0400
    • Engine revision be1073aa35
    • Dart version 3.1.0 (build 3.1.0-256.0.dev)
    • DevTools version 2.24.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/lucalooz/Library/Android/sdk
    • Platform android-33, build-tools 33.0.1
    • ANDROID_HOME = /Users/lucalooz/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/lucalooz/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

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

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • 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
      17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (3 available)
    • iPhone di Luca (2) (mobile) • 00008101-001058A20A80001E • ios            •
      iOS 16.5.1 20F75
    • macOS (desktop)             • macos                     • darwin-arm64   •
      macOS 13.3.1 22E772610a darwin-arm64
    • Chrome (web)                • chrome                    • web-javascript •
      Google Chrome 114.0.5735.133

[✓] Network resources
    • All expected network resources are available.

• No issues found!

@github-actions github-actions bot removed the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Jun 28, 2023
@danagbemava-nc
Copy link
Member

I do not have an iPhone 12 or above device. I only have an iPhone XS. I attempted to reproduce this on my device but aside some initial jank frames, I did not observe any stuttering when I was scrolling. There are, however, a few jank frames in the trace files shared below after the initial jank, but I did not observe stuttering on my device at the time.

Labeling for further insight from the team.

Code sample can be found in the initial post.

dart_devtools_2023-06-29_07_59_09.118-master.json.zip
dart_devtools_2023-06-29_07_19_54.813-stable.json.zip

flutter doctor -v
[✓] Flutter (Channel stable, 3.10.5, on macOS 13.4.1 22F82 darwin-arm64, locale en-GB)
    • Flutter version 3.10.5 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (2 weeks ago), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9971841/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode-14.3.0.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9971841/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 17.0.6+0-17.0.6b802.4-9586694)

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.10121639/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 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.3)
    • IntelliJ at /Users/nexus/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 74.0.4
    • Dart plugin version 231.9161.14

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.2)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.9011.34/IntelliJ IDEA.app
    • 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

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.3)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.9161.38/IntelliJ IDEA.app
    • 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

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

[✓] Connected device (3 available)
    • Nexus (mobile)  • 00008020-001875E83A38002E • ios            • iOS 16.5.1 20F75
    • macOS (desktop) • macos                     • darwin-arm64   • macOS 13.4.1 22F82 darwin-arm64
    • Chrome (web)    • chrome                    • web-javascript • Google Chrome 114.0.5735.198

[✓] Network resources
    • All expected network resources are available.

• No issues found!
[!] Flutter (Channel master, 3.12.0-12.0.pre.51, on macOS 13.4.1 22F82 darwin-arm64, locale en-GB)
    • Flutter version 3.12.0-12.0.pre.51 on channel master at /Users/nexus/dev/sdks/flutters
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5951f9d945 (2 hours ago), 2023-06-29 02:30:39 -0400
    • Engine revision 7fd0e9522e
    • Dart version 3.1.0 (build 3.1.0-260.0.dev)
    • DevTools version 2.25.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9971841/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode-14.3.0.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9971841/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 17.0.6+0-17.0.6b802.4-9586694)

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.10121639/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 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.3)
    • IntelliJ at /Users/nexus/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 74.0.4
    • Dart plugin version 231.9161.14

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.2)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.9011.34/IntelliJ IDEA.app
    • 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

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.3)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.9161.38/IntelliJ IDEA.app
    • 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

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

[✓] Connected device (3 available)
    • Nexus (mobile)  • 00008020-001875E83A38002E • ios            • iOS 16.5.1 20F75
    • macOS (desktop) • macos                     • darwin-arm64   • macOS 13.4.1 22F82 darwin-arm64
    • Chrome (web)    • chrome                    • web-javascript • Google Chrome 114.0.5735.198

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

@danagbemava-nc danagbemava-nc added e: device-specific Only manifests on certain devices platform-ios iOS applications specifically engine flutter/engine repository. See also e: labels. c: performance Relates to speed or footprint issues (see "perf:" labels) perf: speed Performance issues related to (mostly rendering) speed e: impeller Impeller rendering backend issues and features requests a: platform-views Embedding Android/iOS views in Flutter apps and removed in triage Presently being triaged by the triage team labels Jun 29, 2023
@lucalooz
Copy link
Author

I can confirm that on the iPhone XS the issue doesn't happen.
We have a variety of devices in the office that we tried it on.

Most of our apps monetization is based on Ads (aka WebView in PlatformView) and, while we can maybe afford to have some slower performance on older devices (like Android < 10), we can't on high end devices like iPhone >= 12.
We have coworkers and testers upgrading their phones to an iPhone 13 / 14 and getting feedbacks like

Guys what did you do recently?
Your new fancy app, that worked fine, now stutters on my more powerful phone

We're available to offer any help to investigate and hopefully solve the issue!

@chinmaygarde
Copy link
Member

We need to add additional tracing to FlutterPlatformViewsController::SubmitFrame. cc @cyanglaz

@chinmaygarde chinmaygarde added P2 Important issues not at the top of the work list and removed e: impeller Impeller rendering backend issues and features requests labels Jul 5, 2023
@flutter-triage-bot flutter-triage-bot bot added multiteam-retriage-candidate team-ios Owned by iOS platform team triaged-ios Triaged by iOS platform team labels Jul 8, 2023
@b3nni97
Copy link

b3nni97 commented Jul 20, 2023

I have the same problem but I still use Skia. It greatly affects the user experience.

@NarekManukyan
Copy link

I have the same problem on my iPhone 14 pro.

@RMcGhee
Copy link

RMcGhee commented Aug 4, 2023

I think this is actually a ListView problem, if my problem is the same as yours. Even with the simplest possible ListView, there's raster jank of up to 21 ms on iOS (I was only able to test on iPhone 13 Pro Max), quite consistently. I didn't have this problem a month and a half ago, so I'm wondering what's changed in flutter or iOS that's causing this. Looking at RasterStats, the biggest chunk of time is spent in WaitForNextDrawable, though I don't know if that's interesting or helpful.

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;
  List<String> items = List<String>.generate(1000, (i) => 'Item $i');

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  Widget buildListItems(String textFor) {
    return Text(textFor);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headlineMedium,
            ),
            Flexible(
              fit: FlexFit.tight,
              child: ListView.builder(
                itemCount: items.length,
                itemBuilder: (context, index) {
                  return ListTile(
                    title: Text(items[index]),
                  );
                },
              ),
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}
Screenshot 2023-08-04 at 3 37 04 PM

[✓] Flutter (Channel stable, 3.10.6, on macOS 13.4.1 22F770820d darwin-arm64, locale en-US)
• Flutter version 3.10.6 on channel stable at /Users/rm2207/Desktop/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision f468f33 (3 weeks ago), 2023-07-12 15:19:05 -0700
• Engine revision cdbeda788a
• Dart version 3.0.6
• DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
• Android SDK at /Users/rm2207/Library/Android/sdk
• Platform android-33, build-tools 33.0.2
• Java binary at: /Users/rm2207/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.10121639/Android
Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version openjdk version "17.0.6" 2023-01-17
• All Android licenses accepted.

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

[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
• Android Studio at /Users/rm2207/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.10121639/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 version "17.0.6" 2023-01-17

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

[✓] Connected device (3 available)
• Chrome (web) • chrome • web-javascript • Google Chrome 115.0.5790.114

[✓] Network resources
• All expected network resources are available.

Just wanted to update with more info, tested on a MacOS and Pixel 4a physical device, neither show the same jank. This appears to be an iOS only (and according to the original issue, certain iPhones) issue.
MacOS:
Screenshot 2023-08-04 at 4 01 30 PM

Pixel 4a
Screenshot 2023-08-04 at 4 03 21 PM

@quan2nd
Copy link

quan2nd commented Aug 10, 2023

try turn off Impeller

@RMcGhee
Copy link

RMcGhee commented Aug 10, 2023

try turn off Impeller

Turning off Impeller doesn't resolve the issue, unfortunately.

@RMcGhee
Copy link

RMcGhee commented Aug 19, 2023

@llooz My issues with ScrollView jank were resolved when I tested an upgrade to 3.13, you might try that if you're still having issues and a version bump is possible. I had quite a few versioning issues to solve, a rather annoying Xcode update process, and cocoa pods update, but no jank is better than jank.

@lucalooz

This comment was marked as duplicate.

@erlangparasu
Copy link

return ListTile(
title: Text(items[index]),
);

If the Text widget replaced with other widget like ColoredBox / other, still got jank?

@andaas4

This comment was marked as duplicate.

@DiTuStudio

This comment was marked as duplicate.

@CarstenULarsen
Copy link

Any status updates on this one? I am thinking about disabling ads in my app on ios devices because this issue seriously affects the user experience with a loss of income as well of course.
An eta for a fix or status update could be great in order for me to make a decision regarding disabling ads.

@dinyok
Copy link

dinyok commented Feb 14, 2024

what do I have to do now? I can barely use my app after 30 seconds of usage. It even heats up the phone.

@SimonErich
Copy link

I can confirm the phone heating issue. It's quite nice right now, because it's cold outside, but in summer this could become a problem. ;)

@mark8044
Copy link

This is still a significant issue on 3.22

IMO it has actually gotten worse since initial reports using flutter 3.10 back in 2023...

@chowhoho819

This comment was marked as duplicate.

@pierre-softimpact
Copy link

Are there any updates regarding this? Our users using an iPhone with ProMotion suffer from terrible performance while scrolling when there are Ads on the screen.

@RTodorov
Copy link

@danagbemava-nc could you provide some update about this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a: platform-views Embedding Android/iOS views in Flutter apps c: performance Relates to speed or footprint issues (see "perf:" labels) e: device-specific Only manifests on certain devices engine flutter/engine repository. See also e: labels. P2 Important issues not at the top of the work list perf: speed Performance issues related to (mostly rendering) speed platform-ios iOS applications specifically team-ios Owned by iOS platform team triaged-ios Triaged by iOS platform team
Projects
Status: Ready
Development

No branches or pull requests