Repository: flutter
Issue: [Impeller] Impeller performs worse than skia in power consumption 5%.
Labels: engine,c: performance,perf: energy,P2,e: impeller,team-engine,triaged-engine

### Steps to reproduce

1.Open the application
2.Slide the page

Catch the capture with Renderdoc
I found that the events of Impeller are more than skia with opengles or vulkan.
**skia + opengles**
![image](https://github.com/user-attachments/assets/0250f0ef-8041-4dbc-b573-dc8648373af4)

impeller + vulkan
![image](https://github.com/user-attachments/assets/ae11424a-9a2b-463f-ba9a-884660d8a189)

impeller + opengles
![image](https://github.com/user-attachments/assets/4f54e503-5572-4146-b1d4-4f9762dd248b)

By using systrace ,the duration of GPU Completion of Impeller is always more than skia.
![image](https://github.com/user-attachments/assets/fb762284-6173-4a74-b033-66b8665d12b8)


I have put the power consumption data into a table for reference.
In this demo,as we can see,the power consumption of impeller is always higher than skia.
![image](https://github.com/user-attachments/assets/1913038e-b3f9-4761-bbb0-69757f5e49e5)



### Code sample

<details open><summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    const title = 'scroll list demo';

    return MaterialApp(
      title: title,
      home: Scaffold(
        appBar: AppBar(
          title: const Text(title),
        ),
        body: Container(
          margin: const EdgeInsets.symmetric(vertical: 20),
          height: 2000,
          child: ListView(
            scrollDirection: Axis.vertical,
            children: <Widget>[
              Container(
                height: 200,
                color: Colors.blueAccent,
              ),
              Container(
                height: 200,
                color: Colors.grey,
              ),
              Container(
                height: 200,
                color: Colors.white38,
              ),
              Container(
                height: 200,
                color: Colors.grey,
              ),
              Container(
                height: 200,
                color: Colors.lightBlueAccent,
              ),
              Container(
                height: 200,
                color: Colors.blueAccent,
              ),
              Container(
                height: 200,
                color: Colors.grey,
              ),
              Container(
                height: 200,
                color: Colors.white38,
              ),
              Container(
                height: 200,
                color: Colors.grey,
              ),
              Container(
                height: 200,
                color: Colors.lightBlueAccent,
              ),
            ],
          ),
        ),
      ),
    );
  }
}
```

</details>


### What target platforms are you seeing this bug on?

Android

### OS/Browser name and version | Device information

Device:Xiaomi 14  8+256G
OS:Xiaomi Hyperos(Android)
Snapdragon qualcomm 8Gen3

### Does the problem occur on emulator/simulator as well as on physical devices?

Unknown

### Logs

<details open><summary>Logs</summary>

```console
[Paste your logs here]
```

</details>


### Flutter Doctor output

<details open><summary>Doctor output</summary>

```console
[✓] Flutter (Channel stable, 3.22.3, on Ubuntu 24.04.1 LTS 6.8.0-45-generic,
    locale zh_CN.UTF-8)
    • Flutter version 3.22.3 on channel stable at
      /home/mi/workspace/devkit/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b0850beeb2 (3 个月前), 2024-07-16 21:43:41 -0700
    • Engine revision 235db911ba
    • Dart version 3.4.4
    • DevTools version 2.34.3

[!] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
    • Android SDK at /home/mi/Android/Sdk
    • Platform android-35, build-tools 35.0.0
    • Java binary at:
      /home/mi/.local/share/JetBrains/Toolbox/apps/android-studio/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.11+0-17.0.11b1207.24-11852314)
    ! Some Android licenses not accepted. To resolve this, run: flutter doctor
      --android-licenses

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✗] Linux toolchain - develop for Linux desktop
    ✗ clang++ is required for Linux development.
      It is likely available from your distribution (e.g.: apt install clang),
      or can be downloaded from https://releases.llvm.org/
    • cmake version 3.28.3
    ✗ ninja is required for Linux development.
      It is likely available from your distribution (e.g.: apt install
      ninja-build), or can be downloaded from
      https://github.com/ninja-build/ninja/releases
    • pkg-config version 1.8.1
    ✗ GTK 3.0 development libraries are required for Linux development.
      They are likely available from your distribution (e.g.: apt install
      libgtk-3-dev)

[✓] Android Studio (version 2024.2)
    • Android Studio at
      /home/mi/.local/share/JetBrains/Toolbox/apps/android-studio
    • Flutter plugin version 81.1.3
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.11+0-17.0.11b1207.24-11852314)

[✓] IntelliJ IDEA Ultimate Edition (version 2024.2)
    • IntelliJ at
      /home/mi/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate
    • 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.93.1)
    • VS Code at /usr/share/code
    • Flutter extension version 3.98.0

[✓] Connected device (3 available)
    • 23127PN0CC (mobile) • 25552ddd • android-arm64  • Android 15 (API 35)
    • Linux (desktop)     • linux    • linux-x64      • Ubuntu 24.04.1 LTS
      6.8.0-45-generic
    • Chrome (web)        • chrome   • web-javascript • Google Chrome
      129.0.6668.70

[✓] Network resources
    • All expected network resources are available.

```

</details>