flutter/dev/benchmarks/macrobenchmarks/test_driver
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
..
animated_blur_backdrop_filter_perf_test.dart [devicelab] add regular old blur benchmark (#123879) 2023-03-31 20:54:51 +00:00
animated_image_test.dart Reland eliminate timeouts from integration tests (#85141) 2021-06-23 13:08:51 -07:00
animated_image.dart Migrate dev/benchmarks/macrobenchmarks to null safety. (#85501) 2021-06-29 11:49:27 -07:00
animated_placeholder_perf_test.dart
animation_with_microtasks_perf_test.dart Add a test to exercise multiple async microtasks in frame workload (#79163) 2021-03-29 20:49:05 -07:00
backdrop_filter_perf_test.dart
color_filter_and_fade_perf_test.dart
cubic_bezier_perf_test.dart
cull_opacity_perf_test.dart Reland eliminate timeouts from integration tests (#85141) 2021-06-23 13:08:51 -07:00
draw_points_perf_test.dart [devicelab] add drawPoints benchmark (#126728) 2023-05-15 19:14:58 +00:00
e2e_test.dart Migrate dev/benchmarks/macrobenchmarks to null safety. (#85501) 2021-06-29 11:49:27 -07:00
fading_child_animation_perf_test.dart
frame_policy_test.dart Add spaces after flow control statements (#126320) 2023-05-15 11:07:30 +02:00
fullscreen_textfield_perf_test.dart add page delays to the fullscreen versions of the textfield perf benchmarks (#107746) 2022-08-11 19:11:06 +00:00
imagefiltered_transform_animation_perf_test.dart
large_image_changer_test.dart Remove 1745 decorative breaks (#123259) 2023-03-22 21:12:22 +00:00
large_image_changer.dart Migrate dev/benchmarks/macrobenchmarks to null safety. (#85501) 2021-06-29 11:49:27 -07:00
list_text_layout_perf_test.dart Add a macrobenchmark for laying out text in a list (#104736) 2022-05-26 15:25:10 -07:00
multi_widget_construction_perf_test.dart Reland eliminate timeouts from integration tests (#85141) 2021-06-23 13:08:51 -07:00
path_tessellation_dynamic_perf_test.dart Add static_path_tessellation macrobenchmark (#131837) 2023-08-07 23:39:49 +00:00
path_tessellation_static_perf_test.dart Add static_path_tessellation macrobenchmark (#131837) 2023-08-07 23:39:49 +00:00
picture_cache_complexity_scoring_perf_test.dart [dev, bots, examples] rename local functions with _s (#102703) 2022-04-28 10:44:06 -07:00
picture_cache_perf_test.dart [dev, bots, examples] rename local functions with _s (#102703) 2022-04-28 10:44:06 -07:00
post_backdrop_filter_perf_test.dart re-enable the post_backdrop_filter test with CPU/GPU measurements (#65201) 2020-09-04 18:00:02 -07:00
run_app.dart cleanup macrobenchmark duplicate files (#61621) 2020-07-17 14:34:33 -04:00
simple_animation_perf_test.dart Increase simple animation delay and duration (#64002) 2020-09-03 13:25:19 -07:00
sliders_perf_test.dart Add Sliders to macrobenchmarks (#125296) 2023-04-24 23:25:28 +00:00
stack_size_perf_test.dart Migrate dev/benchmarks/macrobenchmarks to null safety. (#85501) 2021-06-29 11:49:27 -07:00
textfield_perf_test.dart Fix some issues with launching E2E benchmarks and add page delays in textfield benchmarks (#107500) 2022-07-14 08:14:08 +00:00
util.dart Sped up the time to find macrobenchmarks. (#131959) 2023-08-04 23:41:24 +00:00