// 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. } }