Skip to content

[impeller] move Command::pipeline to Pipeline<PipelineDescriptor>* #159566

@gaaclarke

Description

@gaaclarke

Today they are shared_ptr<Pipeline<PipelineDescriptor>>. This inflates the size of Command which are created hundreds of times per frame and also causes a synchronization when ~shared_ptr is called. The ContentContext should be keeping these alive and Command's are ephemeral so there is no need for it to have an owning reference to the pipeline.

This is even the case for runtime effects: https://github.com/flutter/engine/blob/main/impeller/entity/contents/content_context.cc#L572-L583

spawned from: #159177

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: proposalA detailed proposal for a change to Fluttere: impellerImpeller rendering backend issues and features requeststeam-engineOwned by Engine teamtriaged-engineTriaged by Engine team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions