flutter/dev/benchmarks/macrobenchmarks/lib/main.dart
Jim Graham f83fd9d467
Add test case for Flutter Issue #27677 as a benchmark. (#34870)
* Add test case for Flutter Issue #27677 as a benchmark.

See https://github.com/flutter/flutter/issues/27677

I got the following results running the test on a Moto E2 which
will help us determine how much we can gain by analyzing the
operations and eliminating unnecessary repaints based on
dirty rectangles/regions.

no blurs       - avg 216.0 fps over 3 samples
blur the group - avg  22.9 fps over 3 samples
blur each txt  - avg   3.4 fps over 3 samples

* Added the new benchmark to be tracked on the dashboard.
2019-06-24 20:53:22 -07:00

65 lines
1.9 KiB
Dart

// Copyright 2015 The Chromium 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 'common.dart';
import 'src/backdrop_filter.dart';
import 'src/cubic_bezier.dart';
import 'src/cull_opacity.dart';
const String kMacrobenchmarks ='Macrobenchmarks';
void main() => runApp(MacrobenchmarksApp());
class MacrobenchmarksApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: kMacrobenchmarks,
initialRoute: '/',
routes: <String, WidgetBuilder>{
'/': (BuildContext context) => HomePage(),
kCullOpacityRouteName: (BuildContext context) => CullOpacityPage(),
kCubicBezierRouteName: (BuildContext context) => CubicBezierPage(),
kBackdropFilterRouteName: (BuildContext context) => BackdropFilterPage(),
},
);
}
}
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text(kMacrobenchmarks)),
body: ListView(
children: <Widget>[
RaisedButton(
key: const Key(kCullOpacityRouteName),
child: const Text('Cull opacity'),
onPressed: (){
Navigator.pushNamed(context, kCullOpacityRouteName);
},
),
RaisedButton(
key: const Key(kCubicBezierRouteName),
child: const Text('Cubic Bezier'),
onPressed: (){
Navigator.pushNamed(context, kCubicBezierRouteName);
},
),
RaisedButton(
key: const Key(kBackdropFilterRouteName),
child: const Text('Backdrop Filter'),
onPressed: (){
Navigator.pushNamed(context, kBackdropFilterRouteName);
},
),
],
),
);
}
}