mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

This reverts commit adc8e159a5
.
This should be safe to land once https://github.com/flutter/flutter/pull/28530 gets merged
Merge on yellow doc test because the doc test is actually green.
41 lines
1.4 KiB
Dart
41 lines
1.4 KiB
Dart
// Copyright 2019 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 'dart:ui';
|
|
|
|
import 'package:flutter_driver/driver_extension.dart';
|
|
import 'package:flutter/painting.dart' show DefaultShaderWarmUp, PaintingBinding;
|
|
import 'package:macrobenchmarks/main.dart' as app;
|
|
|
|
class CubicBezierShaderWarmUp extends DefaultShaderWarmUp {
|
|
@override
|
|
void warmUpOnCanvas(Canvas canvas) {
|
|
super.warmUpOnCanvas(canvas);
|
|
|
|
// Warm up the cubic shaders used by CubicBezierPage.
|
|
//
|
|
// This tests that our custom shader warm up is working properly.
|
|
// Without this custom shader warm up, the worst frame time is about 115ms.
|
|
// With this, the worst frame time is about 70ms. (Data collected on a Moto
|
|
// G4 based on Flutter version 704814c67a874077710524d30412337884bf0254.
|
|
final Path path = Path();
|
|
path.moveTo(20.0, 20.0);
|
|
// This cubic path is based on
|
|
// https://skia.org/user/api/SkPath_Reference#SkPath_cubicTo
|
|
path.cubicTo(300.0, 80.0, -140.0, 90.0, 220.0, 10.0);
|
|
final Paint paint = Paint();
|
|
paint.isAntiAlias = true;
|
|
paint.strokeWidth = 18.0;
|
|
paint.style = PaintingStyle.stroke;
|
|
paint.strokeCap = StrokeCap.round;
|
|
canvas.drawPath(path, paint);
|
|
}
|
|
}
|
|
|
|
void main() {
|
|
PaintingBinding.shaderWarmUp = CubicBezierShaderWarmUp();
|
|
enableFlutterDriverExtension();
|
|
app.main();
|
|
}
|