-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
flutter/engine
#31727Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: tech-debtTechnical debt, code quality, testing, etc.Technical debt, code quality, testing, etc.engineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.
Description
When we call Animator::Render to render the layer tree, if the pipeline is not empty before we put the new item, there are two places will try to render the layer tree.
One is here:
https://github.com/flutter/engine/blob/7b5edec4cd13fd948fa12c0cacdf5d1852b0149f/shell/common/rasterizer.cc#L215-L226
Another is here:
https://github.com/flutter/engine/blob/7b5edec4cd13fd948fa12c0cacdf5d1852b0149f/shell/common/shell.cc#L1125-L1129
One of these two is unnecessary, because there is nothing in the pipeline when calling Rasterizer::Draw.
A potential solution is to determine if the item put into the pipeline is the first one, if not, don't call Shell::OnAnimatorDraw,
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: tech-debtTechnical debt, code quality, testing, etc.Technical debt, code quality, testing, etc.engineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.