Commit Graph

63 Commits

Author SHA1 Message Date
Michael Goderbauer
5491c8c146
Auto-format Framework (#160545)
This auto-formats all *.dart files in the repository outside of the
`engine` subdirectory and enforces that these files stay formatted with
a presubmit check.

**Reviewers:** Please carefully review all the commits except for the
one titled "formatted". The "formatted" commit was auto-generated by
running `dev/tools/format.sh -a -f`. The other commits were hand-crafted
to prepare the repo for the formatting change. I recommend reviewing the
commits one-by-one via the "Commits" tab and avoiding Github's "Files
changed" tab as it will likely slow down your browser because of the
size of this PR.

---------

Co-authored-by: Kate Lovett <katelovett@google.com>
Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
2024-12-19 20:06:21 +00:00
Zachary Anderson
88123277fc
Remove android stack_size_test (#153695)
This test expects to run on 32-bit hardware, but the devicelab no longer
has 32-bit Android hardware. In particular, the test contains hand-coded
32-bit arm assembly for reading the stack pointer from Dart code via
`dart:ffi`.

This test was added in response to a framework change that caused stack
frames to be larger than expected while building widgets, leading apps
to crash with StackOverflow exceptions unexpectedly. Since then (>3
years ago) this test has not prevented any similar issue, so I believe
deleting it rather than fixing it is a better use of resources.
2024-08-19 12:25:35 -07:00
gaaclarke
ba5a4d8c09
Adds benchmark for rrect_blur. (#149261)
issue: https://github.com/flutter/flutter/issues/148496

![rrectblurbenchmark (2)](https://github.com/flutter/flutter/assets/30870216/ec849519-4619-4c2f-8bb3-8e0584c4566f)
(I slightly tweaked the animation to make sure the large radius blurs aren't always at the bottom of the screen).
2024-05-29 22:19:10 +00:00
Jim Graham
b51859ec33
Add benchmark for scrolling very long pictures (#133434)
This benchmark will track the performance of the RTree implementation to cull very large pictures down to just the portion visible on the screen.
2023-08-31 19:03:14 +00:00
gaaclarke
1ff82af540
[Impeller] Adds advanced blend benchmark (#131893)
issue: https://github.com/flutter/flutter/issues/131784

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-08-09 10:57:35 -07:00
Jonah Williams
915c52453b
[Impeller] add drawVertices and drawAtlas benchmarks. (#132080)
Adds impeller benchmarks to track the progress of improvements made in https://github.com/flutter/flutter/issues/131345
2023-08-08 00:28:16 +00:00
Matej Knopp
1c7e2afce9
Add static_path_tessellation macrobenchmark (#131837)
This adds a macrobenchmark representative of a real world application that uses SVG icons. The scenario of rasterizing complex paths that don't change over time does not seem to be covered by any other macrobenchmark and shows a significantly slower impeller performance compared to skia.

It's actually bit problematic to measure this because on A15 the CPU load with impeller is high enough to trigger CPU frequency change. So in order to get consistent reading I had to add a spinning background thread that would keep the CPU at highest frequency.

```objc
  [NSThread detachNewThreadWithBlock:^{
    while (true) {
      pthread_yield_np();
    }
  }];
```

```bash
flutter drive --profile --local-engine=ios_profile -t test_driver/run_app.dart --driver test_driver/path_tessellation_static_perf_test.dart
```

| average_frame_build_time_millis |Time|
|--|--|
| Impeller | 0.46686524822695047 |
| Skia | 0.4625749999999999 |
| Skia - No RasterCache | 0.47173750000000086|

| average_frame_rasterizer_time_millis | Time |
|--|--|
| Impeller | 6.654328519855595 |
| Skia - Raster Cache |  0.2534123711340209 * |
| Skia - No RasterCache |  0.53424375 |

* Adding the `GeometryPainter` seems to have triggered the complexity threshold for raster cache.

<img alt="screenshot" width="320" src="https://github.com/flutter/flutter/assets/96958/7a2f9384-b512-477b-bffa-058d4d284a41"/>
2023-08-07 23:39:49 +00:00
Jonah Williams
41abe998ee
[devicelab] add drawPoints benchmark (#126728)
Add a benchmark that measures the improvements from https://github.com/flutter/engine/pull/41803
2023-05-15 19:14:58 +00:00
Taha Tesser
457e98a1e7
Add Sliders to macrobenchmarks (#125296)
This adds a performance test for `Slider` and `RangeSlider` to run on Android.
This is to measure upcoming changes to these widgets and compare their performance. 

https://user-images.githubusercontent.com/48603081/233633349-0bcad3c3-04a9-42dd-acd0-46b76ce51178.mp4
2023-04-24 23:25:28 +00:00
Jonah Williams
54dbbd76b8
[devicelab] add regular old blur benchmark (#123879)
[devicelab] add regular old blur benchmark
2023-03-31 20:54:51 +00:00
Lioness100
26b6c1bedd
Fix typos (#121171)
* Fix typos

* lowercase animated & opacity

* Undo typo fix

---------

Co-authored-by: Michael Goderbauer <goderbauer@google.com>
2023-02-23 19:43:21 +00:00
Jonah Williams
dfa3d33328
[devicelab] track performance of animated image filter (#115850)
* [devicelab] track performance of animated image filter

* ++

* make animations repeat and add dispose

* make duration more consistently 10sec
2022-11-29 01:59:19 +00:00
ColdPaleLight
1919167540
Added benchmark for early removal of unused raster cache entris mecha… (#107918) 2022-07-20 19:13:06 +00:00
JsouLiang
f0200f0106
Add benchmark case for RasterCache (#103338) 2022-06-29 23:54:10 +00:00
Dan Field
be7a4227c7
Add a macrobenchmark for laying out text in a list (#104736) 2022-05-26 15:25:10 -07:00
wangying
b3d7a691f6
Add benchmark for clipper layers raster cache (#102495)
* Add clipper raster cache benchmarks

* fix ci test error

* Add PhysicalModel widget to test

* Set top margin adaptive screen height

* Remove PhysicalModel
2022-05-13 14:04:06 +08:00
Jonah Williams
63574cf76a
add benchmark for animated complex opacity (#102532) 2022-04-25 18:14:06 -07:00
Jim Graham
493323506f
add gradient benchmarks (#101549) 2022-04-08 17:20:22 -07:00
Michael Goderbauer
ca2d60e8e2
Prepare more of dev for use_super_parameters (#101073) 2022-03-30 14:05:05 -07:00
wangying
712abb08e2
Add benchmark for ShaderMask RasterCache (#100127) 2022-03-28 00:15:07 -07:00
wangying
b4040c867b
Add benchmark for ColorFilter raster cache (#99542) 2022-03-16 19:15:13 -07:00
George Wright
ff1e9b7b9e
Add a benchmark for simple DisplayLists to exercise the Raster Cache's cache admission algorithm (#97992) 2022-02-07 21:01:01 -08:00
Jim Graham
ee204880a5
Opacity Peephole optimization benchmarks (#94447) 2021-12-01 01:39:02 -08:00
Darren Austin
37bc722339
Migrate dev/benchmarks/macrobenchmarks to null safety. (#85501) 2021-06-29 11:49:27 -07:00
Dan Field
0866005f70
Add benchmark for number of GCs in animated GIF (#81240) 2021-04-27 10:39:02 -07:00
Kaushik Iska
e6920662ad
Add a test to exercise multiple async microtasks in frame workload (#79163) 2021-03-29 20:49:05 -07:00
Michael Goderbauer
7e017d318e
Enable file_names and package_names lints (#77087) 2021-03-02 15:24:04 -08:00
Michael Goderbauer
0f568298d8
enable use_key_in_widget_constructors lint (#77032) 2021-03-02 10:14:02 -08:00
chunhtai
713fa8e360
Reland "add a benchmark test for stack size (#75039)" (#75434)
* Reland "add a benchmark test for stack size (#75039)"

This reverts commit de683de9d5.

* fix typo
2021-02-04 12:16:31 -08:00
Shi-Hao Hong
de683de9d5
Revert "add a benchmark test for stack size (#75039)" (#75383)
This reverts commit 9d9109aa6f.
2021-02-04 10:26:04 +08:00
chunhtai
9d9109aa6f
add a benchmark test for stack size (#75039) 2021-02-03 15:16:03 -08:00
LongCatIsLooong
cbe72db135
macrobenchmark: TextField with complex paragraph (#73374) 2021-01-12 15:44:01 -08:00
Hans Muller
82706d730b
Updated references to obsolete Material button classes in benchmarks/macrobenchmarks (#65900) 2020-09-16 07:57:04 -07:00
Dan Field
b5ed913ecc
Memory/cpu/gpu benchmark for showing large images in succession (#64762) 2020-08-31 10:03:57 -07:00
Ming Lyu (CareF)
54c9441723
benchmarkLive: a new LiveTestWidgetsFlutterBindingFramePolicy for benchmark on device (#61388)
* add benchmarkLive flag and tests

* update handlePointerEventRecord doc

* using e2e 0.6.1
2020-07-17 18:56:12 -04:00
Dan Field
5969eb60ec
benchmark memory usage for grid view of memory intensive widgets (#61025) 2020-07-07 19:34:03 -07:00
Jim Graham
2962912d68
restore imagefiltered_transform_animation_perf__timeline_summary benchmark (#60415) 2020-06-27 00:59:50 -07:00
Ming Lyu (CareF)
025463f463
Heavy Widget construction and destruction performance test (#60336)
* Add widget construction benchmark

* Add to device lab
2020-06-26 17:38:26 -04:00
Ming Lyu (CareF)
ef3b99225f
fix typo in macrobenchmarks/lib/main (#58783) 2020-06-08 17:40:57 -04:00
Jim Graham
7261b98e81
Enabling the ImageFiltered(ImageFilter.matrix) page of macrobenchmark (#58277) 2020-05-30 18:53:01 -07:00
Jim Graham
77ea2da746
benchmark animation performance of Opacity widget (#54903) 2020-04-17 18:34:10 -07:00
liyuqian
c80d1e8266
Perf test for color filter with saveLayer (#52063) 2020-03-13 10:31:02 -07:00
Dan Field
d030296a97
Reland test (#50987) 2020-02-20 01:51:15 -08:00
Jonah Williams
d0b7f0cd4e
Revert "Animated placeholder perf (#50851)" (#50984)
This reverts commit e4fbb1aba6.
2020-02-18 12:32:46 -08:00
Dan Field
e4fbb1aba6
Animated placeholder perf (#50851) 2020-02-18 11:29:22 -08:00
Gary Qian
b011ea5468
Pass _caretPrototype to prevent cache miss (#46720) 2019-12-20 06:46:49 +09:00
Jim Graham
fa190a8685
New benchmark to measure performance of animations after removing a BackdropFilter. (#46924) 2019-12-13 13:27:53 -08:00
liyuqian
a2005eaf9a Memory test on scrolling large images quickly (#46184) 2019-12-05 19:28:00 -08:00
Ian Hickson
449f4a6673
License update (#45373)
* Update project.pbxproj files to say Flutter rather than Chromium

Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.

* Update the copyright notice checker to require a standard notice on all files

* Update copyrights on Dart files. (This was a mechanical commit.)

* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.

Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).

* Clean up the copyrights in non-Dart files. (Manual edits.)

Also, make sure templates don't have copyrights.

* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
liyuqian
a32fc986f3
Add a perf test for picture raster cache (#45050)
This will catch issues like
https://github.com/flutter/flutter/issues/44252, and this test is
inspired by the `list_demo` sample app in
https://github.com/flutter/flutter/issues/43083#issue-509586473

This is tested locally on a Moto G4 before and after the fix
https://github.com/flutter/engine/pull/13710

The `average_frame_rasterizer_time_millis` of this test drops from
~5.4ms to ~4.9ms after that fix.
2019-11-19 15:48:41 -08:00