Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@iskakaushik
Copy link
Contributor

@iskakaushik iskakaushik commented Apr 13, 2020

go/flutter-pipeline-improvements for more details

@auto-assign auto-assign bot requested a review from jason-simmons April 13, 2020 22:30
@iskakaushik iskakaushik removed the request for review from jason-simmons April 13, 2020 22:30
@chinmaygarde chinmaygarde self-requested a review April 13, 2020 23:05
@iskakaushik iskakaushik requested a review from flar April 15, 2020 01:30
@flar
Copy link
Contributor

flar commented Apr 16, 2020

One significant issue here is that a lot of timeline tracing seems to have been eliminated in the pipeline files. I'm thinking that the FLOW ids are gone now, and a number of async events as well. Have you looked at the observatory output for how informative it is with these changes? Perhaps post a view of the observatory differences for a given animating app before/after?

@iskakaushik
Copy link
Contributor Author

@flar I haven't looked at the observatory events. I will look at the post-events and see what makes sense in terms of adding support for any of the removed events. In a similar vein, I believe some changes will be needed on the driver tests side to make the benchmarks still be valid.

@iskakaushik
Copy link
Contributor Author

@flar , I've looked at the traces briefly.

Before this change the timeline looked like so:

After my change:

Based on this, I think we aren't losing any useful information. Here are the traces:
https://drive.google.com/drive/folders/1Zo9Sm4Sxy1TZ02b3n6bwD_hbA8QehZci?usp=sharing

@flar
Copy link
Contributor

flar commented Apr 20, 2020

What about the flows, though?

@iskakaushik
Copy link
Contributor Author

This removes 1 flow event: PipelineItem. As I understand it this is used to track 3 events:

  1. When the continuation is obtained.
  2. When the layer tree resource is produced.
  3. When the produced layer tree is consumed.

I will make changes to this PR to track similar events in the layer_tree_holder.cc class.
Other than this event we also track the pipeline depth, but thats no longer needed.

@iskakaushik iskakaushik changed the title [WIP] remove pipeline in favor of layer tree holder Remove pipeline in favor of layer tree holder Apr 22, 2020
@iskakaushik iskakaushik force-pushed the layer_tree_holder branch 3 times, most recently from dc971a2 to f3bf7ff Compare April 28, 2020 16:22
@iskakaushik iskakaushik force-pushed the layer_tree_holder branch from f3bf7ff to 8041778 Compare May 1, 2020 19:41
@iskakaushik
Copy link
Contributor Author

@flar please take a look when you get a chance.

Copy link
Contributor

@flar flar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing major, just spelling nits mostly. Approving anyway, but look at my suggested edits...

layer_tree_holder.ReplaceIfNewer(std::move(layer_tree));
ASSERT_FALSE(layer_tree_holder.IsEmpty());
const auto stored = layer_tree_holder.Get();
ASSERT_EQ(stored->frame_size(), frame_size);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also ASSERT_TRUE(isEmpty)?

/// actually performs the GPU operations within the layer tree
/// pipeline.
/// The layer tree holder is a thread safe way to produce frame
/// workloads from the UI thread and raster them on the raster
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

raster -> rasterize

/// workloads from the UI thread and raster them on the raster
/// thread. To account for scenarious where the UI thread
/// continues to produce the frames while a raster task is queued,
/// `Rasterizer::DoDraw` that gets executed on the raster thread,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unnecessary comma at the end of this line separates the noun from its verb, should be "... on the raster thread must pick up ..."

@flar
Copy link
Contributor

flar commented May 7, 2020

@chinmaygarde self requested a review a while back, but I don't see any comments...?

@iskakaushik iskakaushik force-pushed the layer_tree_holder branch from 85523b5 to 55dacac Compare May 7, 2020 22:13
@iskakaushik
Copy link
Contributor Author

@iskakaushik iskakaushik merged commit 983de2c into flutter:master May 8, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 8, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 8, 2020
iskakaushik pushed a commit to iskakaushik/engine that referenced this pull request May 8, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 8, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 8, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 9, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 9, 2020
GaryQian pushed a commit to flutter/flutter that referenced this pull request May 11, 2020
* 9ea2db5 Add FlMessageCodec, FlBinaryCodec, FlStringCodec (flutter/engine#18186)

* f422757 Roll src/fuchsia/sdk/linux from MhpFP... to c1q_S... (flutter/engine#18222)

* 2ab918c Roll src/third_party/skia a14084ba1b41..8f6c3ed7c7be (1 commits) (flutter/engine#18223)

* 40167b6 Make robolectric tests run against SDK 29 by default (flutter/engine#17996)

* e5b0db6 Roll src/third_party/skia 8f6c3ed7c7be..b55372444d1b (4 commits) (flutter/engine#18224)

* ed08c3e Roll src/fuchsia/sdk/mac from 4MCVP... to T5tT0... (flutter/engine#18228)

* 6767517 Roll src/third_party/skia b55372444d1b..ac09f7cd7a28 (2 commits) (flutter/engine#18229)

* 983de2c Remove pipeline in favor of layer tree holder (flutter/engine#17688)

* a1218dd Roll src/third_party/skia ac09f7cd7a28..c683912173bb (2 commits) (flutter/engine#18230)

* 68bf137 skip painting clipped out pictures (flutter/engine#18204)

* 7035255 make compiler worker count configurable (flutter/engine#17616)

* c8ff03c Publish validation layer deps as part of the fuchsia artifacts (flutter/engine#18214)

* 576f0e1 Roll src/third_party/skia c683912173bb..7359165e660c (1 commits) (flutter/engine#18234)

* 1b3b4ec skip font loading tests for safari (flutter/engine#18232)

* 9319d7c Roll src/third_party/skia 7359165e660c..6913d1bb1d7a (1 commits) (flutter/engine#18237)

* 1b56f35 Roll src/third_party/dart 617bc54b715d..2a14a62112e6 (30 commits) (flutter/engine#18239)

* ff6942f Add fontFeatures and decorationThickness to textstyle (flutter/engine#18235)

* 4418ce8 Revert "Remove pipeline in favor of layer tree holder (#17688)" (flutter/engine#18242)

* 9d8daf2 Roll src/third_party/skia 6913d1bb1d7a..bf1904fd4898 (3 commits) (flutter/engine#18243)

* Updated bin/internal/fuchsia-linux.version

* Updated bin/internal/fuchsia-mac.version
iskakaushik added a commit to iskakaushik/engine that referenced this pull request May 11, 2020
go/flutter-pipeline-improvements for more details.
iskakaushik added a commit to iskakaushik/engine that referenced this pull request May 12, 2020
go/flutter-pipeline-improvements for more details.
iskakaushik added a commit to iskakaushik/engine that referenced this pull request May 12, 2020
go/flutter-pipeline-improvements for more details.
iskakaushik added a commit to iskakaushik/engine that referenced this pull request May 12, 2020
go/flutter-pipeline-improvements for more details.
iskakaushik added a commit to iskakaushik/engine that referenced this pull request May 12, 2020
go/flutter-pipeline-improvements for more details.
wandyers pushed a commit to wandyers/engine that referenced this pull request May 23, 2020
go/flutter-pipeline-improvements for more details.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants