Skip to content

Commit

Permalink
add old gallery page transition (#106701)
Browse files Browse the repository at this point in the history
  • Loading branch information
jonahwilliams authored Jun 27, 2022
1 parent b731aee commit 98f0c36
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 0 deletions.
11 changes: 11 additions & 0 deletions .ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1957,6 +1957,17 @@ targets:
task_name: new_gallery__crane_perf
scheduler: luci

- name: Linux_android old_gallery__transition_perf
bringup: true
recipe: devicelab/devicelab_drone
presubmit: false
timeout: 60
properties:
tags: >
["devicelab", "android", "linux"]
task_name: old_gallery__transition_perf
scheduler: luci

- name: Linux_android new_gallery__transition_perf
recipe: devicelab/devicelab_drone
presubmit: false
Expand Down
1 change: 1 addition & 0 deletions TESTOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
/dev/devicelab/bin/tasks/list_text_layout_impeller_perf__e2e_summary.dart @dnfield @flutter/engine
/dev/devicelab/bin/tasks/multi_widget_construction_perf__e2e_summary.dart @zanderso @flutter/engine
/dev/devicelab/bin/tasks/new_gallery__crane_perf.dart @zanderso @flutter/engine
/dev/devicelab/bin/tasks/old_gallery__transition_perf.dart @jonahwilliams @flutter/engine
/dev/devicelab/bin/tasks/picture_cache_perf__e2e_summary.dart @zanderso @flutter/engine
/dev/devicelab/bin/tasks/platform_channels_benchmarks.dart @gaaclarke @flutter/engine
/dev/devicelab/bin/tasks/platform_views_scroll_perf__timeline_summary.dart @zanderso @flutter/engine
Expand Down
17 changes: 17 additions & 0 deletions dev/devicelab/bin/tasks/old_gallery__transition_perf.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// 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/framework/utils.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart';

void main() async {
deviceOperatingSystem = DeviceOperatingSystem.android;
await task(PerfTest(
'${flutterDirectory.path}/dev/integration_tests/flutter_gallery',
'test_driver/page_transitions_perf.dart',
'page_transition_perf',
).run);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// 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/material.dart';
import 'package:flutter_driver/driver_extension.dart';
import 'package:flutter_gallery/gallery/app.dart' show GalleryApp;

void main() {
enableFlutterDriverExtension();
// As in lib/main.dart: overriding https://github.com/flutter/flutter/issues/13736
// for better visual effect at the cost of performance.
runApp(const GalleryApp(testMode: true));
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// 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_driver/flutter_driver.dart';
import 'package:test/test.dart' hide TypeMatcher, isInstanceOf;

void main() {
group('page transition performance test', () {
late FlutterDriver driver;

setUpAll(() async {
driver = await FlutterDriver.connect();

await driver.waitUntilFirstFrameRasterized();
});

tearDownAll(() async {
driver.close();
});

test('measure', () async {
final Timeline timeline = await driver.traceAction(() async {
await driver.tap(find.text('Material'));

for (int i = 0; i < 10; i++) {
await driver.tap(find.text('Banner'));
await Future<void>.delayed(const Duration(milliseconds: 500));
await driver.waitFor(find.byTooltip('Back'));
await driver.tap(find.byTooltip('Back'));
await Future<void>.delayed(const Duration(milliseconds: 500));
}
});

final TimelineSummary summary = TimelineSummary.summarize(timeline);
await summary.writeTimelineToFile('page_transition_perf', pretty: true);
}, timeout: Timeout.none);
});
}

0 comments on commit 98f0c36

Please sign in to comment.