-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Open
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)Relates to speed or footprint issues (see "perf:" labels)customer: penguindependency: skiaSkia team may need to help usSkia team may need to help use: device-specificOnly manifests on certain devicesOnly manifests on certain devicesengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-androidAndroid applications specificallyAndroid applications specificallyteam-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine team
Description
Steps to reproduce
- example code use flutter 3.22 compile
- run on xiaomi 12 pro (android 14)
- found fps only 103-110, the same code compile with 3.19, it can be 120 fps
Expected results
Actual results
Code sample
Code sample
Scaffold(
appBar: AppBar(
title: Text("PerformanceListView"),
),
body: Stack(
children: [
IgnorePointer(
ignoring: false,
child: ListView.builder(
itemBuilder: buildItem,
controller: ScrollController(),
itemCount: 30,
),
),
Align(
alignment: Alignment.topCenter,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(20)),
child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 20, sigmaY: 20),
child: Container(
color: Colors.white60,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Text("tips-----", style: TextStyle(fontSize: 14, color: Colors.black),),
SizedBox(width: 8,),
Text("tips-----", style: TextStyle(fontSize: 14, color: Colors.black)),
SizedBox(width: 8,),
ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(8)),
child:
GestureDetector(
onTap: (){
},
child: Container(
color: Colors.blueAccent,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text("tips-----", style: TextStyle(fontSize: 14, color: Colors.white),),
),
),
),
),
],
),
),
),
),
),
),
)
],
),
)
Widget buildItem(context, index) {
final radius = math.Random().nextInt(20);
final imgIndex = math.Random().nextInt(1000);
return Padding(
padding: const EdgeInsets.all(8.0),
child: SizedBox(
height: 400,
child: ColoredBox(
color: Colors.blueAccent,
child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 20, sigmaY: 20),
child: Image.asset(
"assets/images/test.jpg",
fit: BoxFit.cover,
),
),
).smoothRadiusAll(radius: radius.toDouble(),),
),
);
return Container();
}
extension WidgetModifier on Widget {
Widget smoothRadiusAll({required double radius, double smoothing = 0.6, Clip clipBehavior = Clip.antiAlias}) {
return ClipSmoothRect(
radius: SmoothBorderRadius(cornerRadius: radius, cornerSmoothing: smoothing),
clipBehavior: clipBehavior,
child: this,
);
}
Widget smoothRadiusOnly(
{double topLeftRadius = 0.0,
double topLeftSmoothing = 0.6,
double topRightRadius = 0.0,
double topRightSmoothing = 0.6,
double bottomLeftRadius = 0.0,
double bottomLeftSmoothing = 0.6,
double bottomRightRadius = 0.0,
double bottomRightSmoothing = 0.6,
Clip clipBehavior = Clip.antiAlias}) {
return ClipSmoothRect(
radius: SmoothBorderRadius.only(
topLeft: SmoothRadius(cornerRadius: topLeftRadius, cornerSmoothing: topLeftSmoothing),
topRight: SmoothRadius(cornerRadius: topRightRadius, cornerSmoothing: topRightSmoothing),
bottomLeft: SmoothRadius(cornerRadius: bottomLeftRadius, cornerSmoothing: bottomLeftSmoothing),
bottomRight: SmoothRadius(cornerRadius: bottomRightRadius, cornerSmoothing: bottomRightSmoothing),
),
clipBehavior: clipBehavior,
child: this,
);
}
}Screenshots or Video
Logs
Logs
[Paste your logs here]Flutter Doctor output
Doctor output
[!] Flutter (Channel [user-branch], 3.22.0, on macOS 14.4.1 23E224 darwin-x64, locale zh-Hans-CN)
! Flutter version 3.22.0 on channel [user-branch] at /Users/liuyongqi/flutter_old/flutter_2.10
Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
If that doesn't fix the issue, reinstall Flutter by following instructions at https://flutter.dev/docs/get-started/install.
! Upstream repository unknown source is not a standard remote.
Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this error.
• Framework revision 5dcb86f68f (12 days ago), 2024-05-09 07:39:20 -0500
• Engine revision f6344b75dc
• Dart version 3.4.0
• DevTools version 2.34.3
• 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 34.0.0)
• Android SDK at /Users/liuyongqi/Library/Android/sdk
• Platform android-34, build-tools 34.0.0
• ANDROID_HOME = /Users/liuyongqi/Library/Android/sdk
• Java binary at: /Users/liuyongqi/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)
• All Android licenses accepted.
[!] Xcode - develop for iOS and macOS (Xcode 15.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 15E204a
! CocoaPods 1.11.3 out of date (1.13.0 is recommended).
CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
Without CocoaPods, plugins will not work on iOS or macOS.
For more info, see https://flutter.dev/platform-plugins
To upgrade see https://guides.cocoapods.org/using/getting-started.html#updating-cocoapods for instructions.
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2023.3)
• Android Studio at /Users/liuyongqi/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.10+0-17.0.10b1087.21-11572160)
[✓] IntelliJ IDEA Ultimate Edition (version 2024.1.1)
• IntelliJ at /Users/liuyongqi/Applications/IntelliJ IDEA Ultimate.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.87.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension can be installed from:
🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[✓] Connected device (3 available)
• 2201122C (mobile) • dd21726a • android-arm64 • Android 14 (API 34)
• macOS (desktop) • macos • darwin-x64 • macOS 14.4.1 23E224 darwin-x64
• Chrome (web) • chrome • web-javascript • Google Chrome 124.0.6367.208
! Error: Browsing on the local area network for iPhone. Ensure the device is unlocked and attached with a cable or associated with the same local area network as
this Mac.
The device must be opted into Developer Mode to connect wirelessly. (code -27)
! Error: Browsing on the local area network for ragnarok的iPhone. Ensure the device is unlocked and attached with a cable or associated with the same local area
network as this Mac.
The device must be opted into Developer Mode to connect wirelessly. (code -27)
! Error: Browsing on the local area network for Nero的iPhone. Ensure the device is unlocked and attached with a cable or associated with the same local area network
as this Mac.
The device must be opted into Developer Mode to connect wirelessly. (code -27)
! Error: Browsing on the local area network for Nero的 iPhone. Ensure the device is unlocked and attached with a cable or associated with the same local area network
as this Mac.
The device must be opted into Developer Mode to connect wirelessly. (code -27)
! Error: Browsing on the local area network for Nero的 iPhone. Ensure the device is unlocked and attached with a cable or associated with the same local area network
as this Mac.
The device must be opted into Developer Mode to connect wirelessly. (code -27)
[✓] Network resources
• All expected network resources are available.
! Doctor found issues in 2 categories.mark8044, amrgetment and JavierPerezLavadie
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)Relates to speed or footprint issues (see "perf:" labels)customer: penguindependency: skiaSkia team may need to help usSkia team may need to help use: device-specificOnly manifests on certain devicesOnly manifests on certain devicesengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-androidAndroid applications specificallyAndroid applications specificallyteam-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine team

