-
Notifications
You must be signed in to change notification settings - Fork 29.7k
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,