Commit Graph

53 Commits

Author SHA1 Message Date
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
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
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
9c934041bd
Add benchmarks to measure impact of alpha saveLayers in DisplayLists (#97336) 2022-01-27 13:25:17 -08:00
Jim Graham
6c21e43608
stabilize the way we navigate multiple pages for E2E macrobenchmarks (#96157) 2022-01-05 10:05:05 -08:00
Jim Graham
ee204880a5
Opacity Peephole optimization benchmarks (#94447) 2021-12-01 01:39:02 -08: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
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
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
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
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
liyuqian
9cc29c61df
Reland "Measure iOS CPU/GPU percentage #41426" (#41578)
This reverts commit baea9bf7cc.

Additionally,   we let the test run on mac8 with iphonexs because the test won't run on Xcode 10.1 (mac3-7). Hence we force it to run on mac8 which currently has Xcode 10.2.
2019-09-29 11:33:43 -07:00
liyuqian
baea9bf7cc
Revert "Reland "Measure iOS CPU/GPU percentage (#41234)" (#41426)" (#41575)
This reverts commit 67b5bdf99b.

Reason: it broke device lab.

TBR: @goderbauer
2019-09-29 10:58:13 -07:00
liyuqian
67b5bdf99b
Reland "Measure iOS CPU/GPU percentage (#41234)" (#41426)
This reverts commit f1e7fe8142.

This fix is in https://github.com/flutter/packages/pull/39
2019-09-28 14:24:46 -07:00
Jonah Williams
f1e7fe8142
Revert "Reland "Measure iOS CPU/GPU percentage (#39439)" (#41234)" (#41400) 2019-09-26 12:27:01 -07:00
liyuqian
406b44983a
Reland "Measure iOS CPU/GPU percentage (#39439)" (#41234)
This reverts commit 652be88ecd.

This fix is in https://github.com/flutter/packages/pull/37
2019-09-26 10:39:24 -07:00
liyuqian
652be88ecd
Revert "Measure iOS CPU/GPU percentage (#39439)" (#40624)
This reverts commit af9f424d5d.

Reverts flutter/flutter#39439

Reason: this passed the local device lab test on my Macbook but it failed in the actual device lab. Will investigate, fix, and reland.

TBR: @dnfield @goderbauer @tvolkert @Hixie
2019-09-16 15:00:27 -07:00
liyuqian
af9f424d5d
Measure iOS CPU/GPU percentage (#39439)
For https://github.com/flutter/flutter/issues/33899

Test added:
- simple_animation_perf_ios

Test modified:
- backdrop_filter_perf_ios__timeline_summary

We'll add the CPU/GPU measurement to more iOS tests
once it's proven to be non-flaky.
2019-09-16 13:14:38 -07:00
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
liyuqian
19a6a6f431
Reland "Shader warm up (#27660)" (#28537)
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.
2019-02-27 09:33:08 -08:00