| // 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:ui' as ui; | |
| import 'package:flutter/material.dart'; | |
| import 'recorder.dart'; | |
| class BenchWidgetRecorder extends WidgetRecorder { | |
| BenchWidgetRecorder() : super(name: benchmarkName); | |
| static const String benchmarkName = 'bench_widget_recorder'; | |
| @override | |
| Widget createWidget() { | |
| // This is intentionally using a simple widget. The benchmark is meant to | |
| // measure the overhead of the harness, so this method should induce as | |
| // little work as possible. | |
| return const SizedBox.expand(); | |
| } | |
| } | |
| class BenchWidgetBuildRecorder extends WidgetBuildRecorder { | |
| BenchWidgetBuildRecorder() : super(name: benchmarkName); | |
| static const String benchmarkName = 'bench_widget_build_recorder'; | |
| @override | |
| Widget createWidget() { | |
| // This is intentionally using a simple widget. The benchmark is meant to | |
| // measure the overhead of the harness, so this method should induce as | |
| // little work as possible. | |
| return const SizedBox.expand(); | |
| } | |
| } | |
| class BenchRawRecorder extends RawRecorder { | |
| BenchRawRecorder() : super(name: benchmarkName); | |
| static const String benchmarkName = 'bench_raw_recorder'; | |
| @override | |
| void body(Profile profile) { | |
| profile.record('profile.record', () { | |
| // This is intentionally empty. The benchmark only measures the overhead | |
| // of the harness. | |
| }, reported: true); | |
| } | |
| } | |
| class BenchSceneBuilderRecorder extends SceneBuilderRecorder { | |
| BenchSceneBuilderRecorder() : super(name: benchmarkName); | |
| static const String benchmarkName = 'bench_scene_builder_recorder'; | |
| @override | |
| void onDrawFrame(ui.SceneBuilder sceneBuilder) { | |
| // This is intentionally empty. The benchmark only measures the overhead | |
| // of the harness. | |
| } | |
| } |