Skip to content
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

[Impeller] Usage of framebuffer fetch has unnecessary render to texture. #137459

Open
jonahwilliams opened this issue Oct 27, 2023 · 0 comments
Open
Labels
e: impeller Impeller rendering backend issues and features requests P3 Issues that are less important to the Flutter project team-engine Owned by Engine team triaged-engine Triaged by Engine team

Comments

@jonahwilliams
Copy link
Member

To render advanced blends, even with framebuffer fetch enabled we unconditionally do a render to texture on the contents and then use a framebuffer fetch advanced blend shader with the resulting texture.

This is better than a backdrop filter but still slower than if we drew the original contents (solid color, text) with blending applied in the shader.

Unfortunately today doing so would add (# of color sources) * (number of advanced blends) additional shaders. We should investigate if static shader variants via specailzation constants (#119357) could allow us to include more shaders without both 1) increasing bundle size and 2) re-introducing shader jank.

@jonahwilliams jonahwilliams added P2 Important issues not at the top of the work list e: impeller Impeller rendering backend issues and features requests team-engine Owned by Engine team labels Oct 27, 2023
@zanderso zanderso added the triaged-engine Triaged by Engine team label Oct 30, 2023
@chinmaygarde chinmaygarde changed the title [Impeller] usage of framebuffer fetch has unnecessary render to texture. [Impeller] Usage of framebuffer fetch has unnecessary render to texture. Nov 30, 2023
@jonahwilliams jonahwilliams added P3 Issues that are less important to the Flutter project and removed P2 Important issues not at the top of the work list labels Jun 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e: impeller Impeller rendering backend issues and features requests P3 Issues that are less important to the Flutter project team-engine Owned by Engine team triaged-engine Triaged by Engine team
Projects
No open projects
Status: ⚡ Performance
Development

No branches or pull requests

2 participants