-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Set default clipBehavior to Clip.none and update tests #20205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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!
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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).
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
extraneous blank lines
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indentation is off here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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!
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
There was a problem hiding this comment.
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).
cfd8130 to
8513b5b
Compare
|
@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. |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done 😃
|
@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? |
|
@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? |
|
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 |
|
I guess this change has been reverted, the perf regression is now gone. |
|
@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 ) |
No description provided.