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

Benchmark regression in complex_layout_scroll_perf_ios__timeline_summary #147429

Open
flar opened this issue Apr 26, 2024 · 2 comments
Open

Benchmark regression in complex_layout_scroll_perf_ios__timeline_summary #147429

flar opened this issue Apr 26, 2024 · 2 comments
Assignees
Labels
e: impeller Impeller rendering backend issues and features requests P1 High-priority issues at the top of the work list team-engine Owned by Engine team triaged-engine Triaged by Engine team

Comments

@flar flar added the engine flutter/engine repository. See also e: labels. label Apr 26, 2024
@jonahwilliams
Copy link
Member

The reason this regressed is that I removed the additional shader bootstrap. While we weren't actually using those shaders, as a side effect we no longer block until shaders are fully available in context creation, meaning that on the first frame we have to wait.

@jonahwilliams jonahwilliams added e: impeller Impeller rendering backend issues and features requests team-engine Owned by Engine team and removed engine flutter/engine repository. See also e: labels. labels Apr 27, 2024
@flar
Copy link
Contributor Author

flar commented Apr 28, 2024

The reason this regressed is that I removed the additional shader bootstrap. While we weren't actually using those shaders, as a side effect we no longer block until shaders are fully available in context creation, meaning that on the first frame we have to wait.

If I'm reading this correctly, the reason it is impacting these benchmarks is that (?):

We used to not even start rasterizing frames until the shaders were loaded and the first frame had no waits between its begin/end because it didn't even try to start its work until everything was ready?

And now since it is asynchronous we might start that first frame earlier, but we can't finish it until the shaders are ready - time that used to be ignored as part of "app startup" but now appears in the first frame time?

This was the only benchmark impacted, though, so I'm curious why some of the more simple benchmarks didn't have a regression like that...

@jonahwilliams jonahwilliams added the P1 High-priority issues at the top of the work list label Apr 29, 2024
@jonahwilliams jonahwilliams self-assigned this Apr 29, 2024
@jonahwilliams jonahwilliams added the triaged-engine Triaged by Engine team label Apr 29, 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 P1 High-priority issues at the top of the work list team-engine Owned by Engine team triaged-engine Triaged by Engine team
Projects
None yet
Development

No branches or pull requests

2 participants