Skip to content

Conversation

@liyuqian
Copy link
Contributor

@liyuqian liyuqian commented Aug 3, 2018

No description provided.

Copy link
Contributor

Choose a reason for hiding this comment

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

all the constructors where you add clipBehavior should assert that it's not null, and should mention in their documentation that it must not be null.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Copy link
Contributor

Choose a reason for hiding this comment

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

we should probably export Clip from painting/basic_types.dart

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Copy link
Contributor

Choose a reason for hiding this comment

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

why do you define this as a closure instead of a function?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Defined as a function now. I didn't realize that I can define function inside a function. Thanks!

Copy link
Contributor

Choose a reason for hiding this comment

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

i don't think this is accurate. If it is, then we need to find a solution. People don't want or expect bleeding in these cases.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

According to our discussion offline, change rotation back to 1.0 radians, and comment that there should only be bleeding edges on rect edges (but not round corners).

Copy link
Contributor

Choose a reason for hiding this comment

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

the root render object is always a RenderView, and in any case none of the classes you list there are render objects, so I'm not sure this documentation is what you mean?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changed to [RenderClipXXX].

I copied the comment from the next class which also says

Asserts that a [Finder] locates a single object whose root RenderObject is a [RenderClipRRect]...

I guess that we can find something in the middle using a globalKey?

Copy link
Contributor

Choose a reason for hiding this comment

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

extraneous blank lines

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

Copy link
Contributor

Choose a reason for hiding this comment

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

indentation is off here

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oops, this is a typo. Fixed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Defined as a function now. I didn't realize that I can define function inside a function. Thanks!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changed to [RenderClipXXX].

I copied the comment from the next class which also says

Asserts that a [Finder] locates a single object whose root RenderObject is a [RenderClipRRect]...

I guess that we can find something in the middle using a globalKey?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

According to our discussion offline, change rotation back to 1.0 radians, and comment that there should only be bleeding edges on rect edges (but not round corners).

@liyuqian liyuqian force-pushed the noclip branch 2 times, most recently from cfd8130 to 8513b5b Compare August 8, 2018 00:04
@liyuqian
Copy link
Contributor Author

liyuqian commented Aug 8, 2018

@Hixie ping... I just did a performance measurement locally and there should be 5% improvement on average frame time and 10-20% improvement on 99th percentile average frame time for flutter_gallery__transition.

Copy link
Contributor

Choose a reason for hiding this comment

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

nit: avoid else after return

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done 😃

@Hixie
Copy link
Contributor

Hixie commented Aug 9, 2018

LGTM

@liyuqian liyuqian merged commit 13bfa73 into flutter:master Aug 9, 2018
@jonahwilliams
Copy link
Contributor

@liyuqian this is too old to revert and it is blocking the flutter roll - is the fix easy or are you willing to do the rollback yourself?

@liyuqian
Copy link
Contributor Author

liyuqian commented Aug 13, 2018

@jonahwilliams You mean Google3 roll? Can please you send me the link to the failed Google3 roll so I can check how to fix it?

@a-siva
Copy link
Contributor

a-siva commented Aug 15, 2018

This seems to have caused a regression in the tiles_scroll_perf__timeline_summary benchmark (average_frame_rasterizer_time_millis). See https://flutter-dashboard.appspot.com/benchmarks.html

@a-siva
Copy link
Contributor

a-siva commented Aug 15, 2018

I guess this change has been reverted, the perf regression is now gone.

@liyuqian
Copy link
Contributor Author

@a-siva : the regression is caused by our over-simplistic raster cache heuristics: the raster cache thought that the scroll item is too simple to cache because we removed a clip… We should probably improve our raster cache strategy (meanwhile, there's also discussion that we should abandon raster cache completely; it will hurt our average frame time and battery usage, but probably not bad enough to cause a jank in this case @chinmaygarde @Hixie )

@liyuqian liyuqian deleted the noclip branch August 17, 2018 21:13
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 10, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants