mirror of
https://github.com/flutter/flutter
synced 2024-10-02 14:34:22 +00:00
Adds an impeller variant of the new gallery transition perf benchmark (#100837)
This commit is contained in:
parent
47f08a3fd6
commit
8acbf54930
10
.ci.yaml
10
.ci.yaml
|
@ -3526,6 +3526,16 @@ targets:
|
|||
["devicelab","ios","mac"]
|
||||
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
|
||||
recipe: devicelab/devicelab_drone
|
||||
bringup: true
|
||||
|
|
|
@ -163,6 +163,7 @@
|
|||
/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/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_swift.dart @zanderso @flutter/engine
|
||||
/dev/devicelab/bin/tasks/platform_channels_benchmarks_ios.dart @gaaclarke @flutter/engine
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
// 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 {
|
|||
this.galleryDir, {
|
||||
String timelineFileName = 'transitions',
|
||||
String dartDefine = '',
|
||||
bool enableImpeller = false,
|
||||
}) : super(
|
||||
galleryDir.path,
|
||||
'test_driver/transitions_perf.dart',
|
||||
timelineFileName,
|
||||
dartDefine: dartDefine,
|
||||
enableImpeller: enableImpeller,
|
||||
);
|
||||
|
||||
@override
|
||||
|
|
|
@ -815,6 +815,7 @@ class PerfTest {
|
|||
String? resultFilename,
|
||||
this.device,
|
||||
this.flutterDriveCallback,
|
||||
this.enableImpeller = false,
|
||||
}): _resultFilename = resultFilename;
|
||||
|
||||
const PerfTest.e2e(
|
||||
|
@ -829,6 +830,7 @@ class PerfTest {
|
|||
String resultFilename = 'e2e_perf_summary',
|
||||
this.device,
|
||||
this.flutterDriveCallback,
|
||||
this.enableImpeller = false,
|
||||
}) : saveTraceFile = false, timelineFileName = null, _resultFilename = resultFilename;
|
||||
|
||||
/// The directory where the app under test is defined.
|
||||
|
@ -860,6 +862,9 @@ class PerfTest {
|
|||
/// If it is not `null`, `flutter drive` will not happen in the PerfTests.
|
||||
final FlutterDriveCallback? flutterDriveCallback;
|
||||
|
||||
/// Whether the perf test should enable Impeller.
|
||||
final bool enableImpeller;
|
||||
|
||||
/// The keys of the values that need to be reported.
|
||||
///
|
||||
/// If it's `null`, then report:
|
||||
|
@ -929,6 +934,7 @@ class PerfTest {
|
|||
if (cacheSkSL) '--cache-sksl',
|
||||
if (dartDefine.isNotEmpty)
|
||||
...<String>['--dart-define', dartDefine],
|
||||
if (enableImpeller) '--enable-impeller',
|
||||
'-d',
|
||||
deviceId,
|
||||
];
|
||||
|
|
Loading…
Reference in a new issue