Unverified Commit 8acbf549 authored by Zachary Anderson's avatar Zachary Anderson Committed by GitHub

Adds an impeller variant of the new gallery transition perf benchmark (#100837)

parent 47f08a3f
...@@ -3526,6 +3526,16 @@ targets: ...@@ -3526,6 +3526,16 @@ targets:
["devicelab","ios","mac"] ["devicelab","ios","mac"]
task_name: new_gallery_ios__transition_perf task_name: new_gallery_ios__transition_perf
- name: Mac_ios new_gallery_impeller_ios__transition_perf
bringup: true # Flaky https://github.com/flutter/flutter/issues/96401
recipe: devicelab/devicelab_drone
presubmit: false
timeout: 60
properties:
tags: >
["devicelab","ios","mac"]
task_name: new_gallery_impeller_ios__transition_perf
- name: Mac_ios ios_picture_cache_complexity_scoring_perf__timeline_summary - name: Mac_ios ios_picture_cache_complexity_scoring_perf__timeline_summary
recipe: devicelab/devicelab_drone recipe: devicelab/devicelab_drone
bringup: true bringup: true
......
...@@ -163,6 +163,7 @@ ...@@ -163,6 +163,7 @@
/dev/devicelab/bin/tasks/macos_chrome_dev_mode.dart @zanderso @flutter/tool /dev/devicelab/bin/tasks/macos_chrome_dev_mode.dart @zanderso @flutter/tool
/dev/devicelab/bin/tasks/microbenchmarks_ios.dart @zanderso @flutter/engine /dev/devicelab/bin/tasks/microbenchmarks_ios.dart @zanderso @flutter/engine
/dev/devicelab/bin/tasks/new_gallery_ios__transition_perf.dart @zanderso @flutter/engine /dev/devicelab/bin/tasks/new_gallery_ios__transition_perf.dart @zanderso @flutter/engine
/dev/devicelab/bin/tasks/new_gallery_impeller_ios__transition_perf.dart @zanderso @flutter/engine
/dev/devicelab/bin/tasks/platform_channel_sample_test_ios.dart @zanderso @flutter/engine /dev/devicelab/bin/tasks/platform_channel_sample_test_ios.dart @zanderso @flutter/engine
/dev/devicelab/bin/tasks/platform_channel_sample_test_swift.dart @zanderso @flutter/engine /dev/devicelab/bin/tasks/platform_channel_sample_test_swift.dart @zanderso @flutter/engine
/dev/devicelab/bin/tasks/platform_channels_benchmarks_ios.dart @gaaclarke @flutter/engine /dev/devicelab/bin/tasks/platform_channels_benchmarks_ios.dart @gaaclarke @flutter/engine
......
// 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 'dart:io';
import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/new_gallery.dart';
import 'package:path/path.dart' as path;
Future<void> main() async {
deviceOperatingSystem = DeviceOperatingSystem.ios;
final Directory galleryParentDir = Directory.systemTemp.createTempSync('flutter_new_gallery_test.');
final Directory galleryDir = Directory(path.join(galleryParentDir.path, 'gallery'));
try {
await task(NewGalleryPerfTest(galleryDir, enableImpeller: true).run);
} finally {
rmTree(galleryParentDir);
}
}
...@@ -14,11 +14,13 @@ class NewGalleryPerfTest extends PerfTest { ...@@ -14,11 +14,13 @@ class NewGalleryPerfTest extends PerfTest {
this.galleryDir, { this.galleryDir, {
String timelineFileName = 'transitions', String timelineFileName = 'transitions',
String dartDefine = '', String dartDefine = '',
bool enableImpeller = false,
}) : super( }) : super(
galleryDir.path, galleryDir.path,
'test_driver/transitions_perf.dart', 'test_driver/transitions_perf.dart',
timelineFileName, timelineFileName,
dartDefine: dartDefine, dartDefine: dartDefine,
enableImpeller: enableImpeller,
); );
@override @override
......
...@@ -815,6 +815,7 @@ class PerfTest { ...@@ -815,6 +815,7 @@ class PerfTest {
String? resultFilename, String? resultFilename,
this.device, this.device,
this.flutterDriveCallback, this.flutterDriveCallback,
this.enableImpeller = false,
}): _resultFilename = resultFilename; }): _resultFilename = resultFilename;
const PerfTest.e2e( const PerfTest.e2e(
...@@ -829,6 +830,7 @@ class PerfTest { ...@@ -829,6 +830,7 @@ class PerfTest {
String resultFilename = 'e2e_perf_summary', String resultFilename = 'e2e_perf_summary',
this.device, this.device,
this.flutterDriveCallback, this.flutterDriveCallback,
this.enableImpeller = false,
}) : saveTraceFile = false, timelineFileName = null, _resultFilename = resultFilename; }) : saveTraceFile = false, timelineFileName = null, _resultFilename = resultFilename;
/// The directory where the app under test is defined. /// The directory where the app under test is defined.
...@@ -860,6 +862,9 @@ class PerfTest { ...@@ -860,6 +862,9 @@ class PerfTest {
/// If it is not `null`, `flutter drive` will not happen in the PerfTests. /// If it is not `null`, `flutter drive` will not happen in the PerfTests.
final FlutterDriveCallback? flutterDriveCallback; final FlutterDriveCallback? flutterDriveCallback;
/// Whether the perf test should enable Impeller.
final bool enableImpeller;
/// The keys of the values that need to be reported. /// The keys of the values that need to be reported.
/// ///
/// If it's `null`, then report: /// If it's `null`, then report:
...@@ -929,6 +934,7 @@ class PerfTest { ...@@ -929,6 +934,7 @@ class PerfTest {
if (cacheSkSL) '--cache-sksl', if (cacheSkSL) '--cache-sksl',
if (dartDefine.isNotEmpty) if (dartDefine.isNotEmpty)
...<String>['--dart-define', dartDefine], ...<String>['--dart-define', dartDefine],
if (enableImpeller) '--enable-impeller',
'-d', '-d',
deviceId, deviceId,
]; ];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment