-
Notifications
You must be signed in to change notification settings - Fork 28.4k
☂️ - Take advantage of new DisplayList format #85737
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
Comments
We discussed this yesterday and Zach is going to compile a concrete list of work items from this list. |
I've categorized the items. After that I'll work on filing individual issues, and linking them up here. |
@flar Can we use parallel work threads to reduce time like chromium did. |
It looks like you are asking if we can use a recorder to split the work between UI and raster threads. That has always been the design of Flutter since the early days. The DisplayList is just a new recording format that replaces the Skia recording format, but the basic division of labor remains "record on UI thread, rasterize on raster thread". |
Thanks for your reply. |
That would be out of the scope of this PR which is more about capabilities of the storage format itself. You should file a separate engine issue for that idea. DL might be able to add some features to make that more feasible, but such a change would require extensive changes to the way that the layer trees are painted. |
I have migrated the contents of this umbrella issue to a GitHub project here Display List (go/display-list-project for Googlers). |
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of |
Now that we have an open DisplayList format for the Flutter engine, we should be able to look at some further optimizations that have been blocked by our reliance on SkPicture. This issue will track the planned and wished changes that we can now consider. Individual work on these items should be correlated here with an Issue or PR number.
One near-term change that will be needed before any follow-on work takes effect will be to flip the switch to enable the new DisplayList format by default (see PR: flutter/engine#27130)
sk_sp<SkThing>
vsSkThing*
in the Dispatcher methods to avoid extra ref/unrefs. Note that you can create ansk_sp<>
from a pointer usingsk_ref_sp
so that it might make sense to only have pointers in the methods and only storesk_sp
in the DL records. This would eliminate a lot of extra ref/unrefs for dispatchers that don't need to "own" the objects beyond their implementation of the method.The text was updated successfully, but these errors were encountered: