Update shader warm-up for recent Skia changes#37955
Conversation
The update is copied from an update we made to a Google-internal client: cl/260202900 The update will save 1 shader compilation. This should help solve our regression: flutter#31203 More regressions on iOS might be introduced later by flutter/engine#9813 (comment) Unfortunately, we didn't rebase our benchmarks so such regressions were not detected. Hence to fully solve flutter#31203, we might need to revert some change in flutter/engine#9813 to make iOS shader warm-up happen on the GPU thread again.
|
It looks like this pull request may not have tests. Please make sure to add tests before merging. While there are exceptions to this rule, if this patch modifies code it is probably not an exception. Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
c12d8a4 to
3eb967d
Compare
| ..restore(); | ||
| canvas.translate(drawCallSpacing, 0.0); | ||
| } | ||
| canvas.translate(0.0, drawCallSpacing); |
There was a problem hiding this comment.
Can we add a test for this with a TestCanvas that just captures the method invocations and verifies they come out to what we expect? If you grep for TestCanvas you should find some examples
There was a problem hiding this comment.
How about the added test?
There was a problem hiding this comment.
Thanks! I'll defer to other reviewer(s) on final review for this.
|
@iskakaushik : since you're interested in shader warm-up, I wonder if you'd like to review this PR? For reference, go/flutter-compile-janks is an work-in-progress design doc that includes some backgrounds and solution comparisons. I'm also happy to give a brown bag if you're interested 😄 |
|
Ping... |
The update is copied from an update we made to a Google-internal
client: cl/260202900
The update will save 1 shader compilation.
This should help solve our regression:
#31203
More regressions on iOS might be introduced later by
flutter/engine#9813 (comment)
Unfortunately, we didn't rebase our benchmarks so such regressions
were not detected.
Hence to fully solve #31203,
we might need to revert some change in
flutter/engine#9813 to make iOS shader warm-up
happen on the GPU thread again.