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
Revert "[Impeller] iOS/macOS: Only wait for command scheduling prior to present" #40895
Conversation
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
auto label is removed for flutter/engine, pr: 40895, due to - The status or check suite Linux Fuchsia FEMU has failed. Please fix the issues identified (or deflake) before re-applying this label. |
…ing prior to present" (flutter/engine#40895)
…ing prior to present" (flutter/engine#40895)
…g prior to present" (flutter#40895)" This reverts commit b580325.
…nt (redux) Reverts flutter#40895.
…nt (redux) Reverts flutter#40895.
…nt (redux) Reverts flutter#40895.
…nt (redux) Reverts flutter#40895.
…nt (redux) (#41501) Reverts #40895. Resolves flutter/flutter#120399 (again). A bunch of frames get pumped on the main thread _without a transaction_ just before unmerging occurs (I don't know why this happens), and so checking the current thread to determine whether we need to present with a transaction or not isn't sufficient. In the prior fix, after the unmerge, the raster thread would hang for one second while waiting for the next drawable to get freed up (happens on the second raster thread frame post-unmerge), and then subsequent presents would just do nothing for a while, but eventually recover. `presentsWithTransaction` works whether the `CATransaction` stack is empty or not, and so the only difference here is that `presentsWithTransaction` is always turned on and `presentDrawable` is always avoided (otherwise it tries to present too early and nothing renders when platform views are present).
Reverts #40781
Fixes flutter/flutter#124056
When unmerging threads we appear to get stuck for multiple seconds. Haven't debugged further, but bisected to this commit.