Add Impeller complex layout impeller benchmarks. (#139490)
These benchmarks do a nice job of showing CPU overhead, which is useful for many of the microoptimizations we've been doing.
diff --git a/.ci.yaml b/.ci.yaml
index 55be8eb..f494057 100644
--- a/.ci.yaml
+++ b/.ci.yaml
@@ -1960,6 +1960,34 @@
{"dependency": "open_jdk", "version": "version:11"}
]
+ - name: Linux_pixel_7pro complex_layout_scroll_perf_impeller__timeline_summary
+ recipe: devicelab/devicelab_drone
+ presubmit: false
+ timeout: 60
+ bringup: true
+ properties:
+ tags: >
+ ["devicelab", "android", "linux", "pixel", "7pro"]
+ task_name: complex_layout_scroll_perf_impeller__timeline_summary
+ dependencies: >-
+ [
+ {"dependency": "open_jdk", "version": "version:11"}
+ ]
+
+ - name: Linux_pixel_7pro complex_layout_scroll_perf_impeller_gles__timeline_summary
+ recipe: devicelab/devicelab_drone
+ presubmit: false
+ timeout: 60
+ bringup: true
+ properties:
+ tags: >
+ ["devicelab", "android", "linux", "pixel", "7pro"]
+ task_name: complex_layout_scroll_perf_impeller_gles__timeline_summary
+ dependencies: >-
+ [
+ {"dependency": "open_jdk", "version": "version:11"}
+ ]
+
- name: Linux_android complex_layout_semantics_perf
recipe: devicelab/devicelab_drone
presubmit: false
diff --git a/TESTOWNERS b/TESTOWNERS
index 6b85e9b..06978d6 100644
--- a/TESTOWNERS
+++ b/TESTOWNERS
@@ -104,6 +104,8 @@
/dev/devicelab/bin/tasks/draw_atlas_perf__timeline_summary.dart @jonahwilliams @flutter/engine
/dev/devicelab/bin/tasks/static_path_tessellation_perf__timeline_summary.dart @jonahwilliams @flutter/engine
/dev/devicelab/bin/tasks/dynamic_path_tessellation_perf__timeline_summary.dart @jonahwilliams @flutter/engine
+/dev/devicelab/bin/tasks/complex_layout_scroll_perf_impeller__timeline_summary.dart @jonahwilliams @flutter/engine
+/dev/devicelab/bin/tasks/complex_layout_scroll_perf_impeller_gles__timeline_summary.dart @jonahwilliams @flutter/engine
## Windows Android DeviceLab tests
/dev/devicelab/bin/tasks/basic_material_app_win__compile.dart @zanderso @flutter/tool
diff --git a/dev/devicelab/bin/tasks/complex_layout_scroll_perf_impeller__timeline_summary.dart b/dev/devicelab/bin/tasks/complex_layout_scroll_perf_impeller__timeline_summary.dart
new file mode 100644
index 0000000..61e9558
--- /dev/null
+++ b/dev/devicelab/bin/tasks/complex_layout_scroll_perf_impeller__timeline_summary.dart
@@ -0,0 +1,12 @@
+// Copyright 2014 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:flutter_devicelab/framework/devices.dart';
+import 'package:flutter_devicelab/framework/framework.dart';
+import 'package:flutter_devicelab/tasks/perf_tests.dart';
+
+Future<void> main() async {
+ deviceOperatingSystem = DeviceOperatingSystem.android;
+ await task(createComplexLayoutScrollPerfTest(enableImpeller: true));
+}
diff --git a/dev/devicelab/bin/tasks/complex_layout_scroll_perf_impeller_gles__timeline_summary.dart b/dev/devicelab/bin/tasks/complex_layout_scroll_perf_impeller_gles__timeline_summary.dart
new file mode 100644
index 0000000..195765d
--- /dev/null
+++ b/dev/devicelab/bin/tasks/complex_layout_scroll_perf_impeller_gles__timeline_summary.dart
@@ -0,0 +1,12 @@
+// Copyright 2014 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:flutter_devicelab/framework/devices.dart';
+import 'package:flutter_devicelab/framework/framework.dart';
+import 'package:flutter_devicelab/tasks/perf_tests.dart';
+
+Future<void> main() async {
+ deviceOperatingSystem = DeviceOperatingSystem.android;
+ await task(createComplexLayoutScrollPerfTest(enableImpeller: true, forceOpenGLES: true));
+}
diff --git a/dev/devicelab/lib/tasks/perf_tests.dart b/dev/devicelab/lib/tasks/perf_tests.dart
index d000c2e..bdb15e5 100644
--- a/dev/devicelab/lib/tasks/perf_tests.dart
+++ b/dev/devicelab/lib/tasks/perf_tests.dart
@@ -28,6 +28,7 @@
bool measureCpuGpu = true,
bool badScroll = false,
bool? enableImpeller,
+ bool forceOpenGLES = false,
}) {
return PerfTest(
'${flutterDirectory.path}/dev/benchmarks/complex_layout',
@@ -37,6 +38,7 @@
'complex_layout_scroll_perf',
measureCpuGpu: measureCpuGpu,
enableImpeller: enableImpeller,
+ forceOpenGLES: forceOpenGLES,
).run;
}