| Summary: | Work around bug 225873 (canvas color space rendering problems) or disable the feature on older OSes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Cameron McCormack (:heycam) <heycam> | ||||||||||||||||||
| Component: | Canvas | Assignee: | Cameron McCormack (:heycam) <heycam> | ||||||||||||||||||
| Status: | RESOLVED FIXED | ||||||||||||||||||||
| Severity: | Normal | CC: | alecflett, beidson, benjamin, cdumez, changseok, cmarcelo, dino, esprehn+autocc, ews-watchlist, gyuyoung.kim, jsbell, kondapallykalyan, sam, simon.fraser, webkit-bug-importer | ||||||||||||||||||
| Priority: | P2 | Keywords: | InRadar | ||||||||||||||||||
| Version: | WebKit Local Build | ||||||||||||||||||||
| Hardware: | Unspecified | ||||||||||||||||||||
| OS: | Unspecified | ||||||||||||||||||||
| Bug Depends on: | |||||||||||||||||||||
| Bug Blocks: | 229021 | ||||||||||||||||||||
| Attachments: |
|
||||||||||||||||||||
|
Description
Cameron McCormack (:heycam)
2021-09-09 17:28:11 PDT
I ran Motionmark locally with the workaround in place, and didn't get notably different results. Created attachment 437819 [details]
Patch
Created attachment 437845 [details]
Patch
(In reply to Cameron McCormack (:heycam) from comment #2) > I ran Motionmark locally with the workaround in place, and didn't get > notably different results. That is measuring the overhead of doing the color space check, when we don't need to purge the caches. I haven't measured how much it can slow things down when repeatedly switching between color spaces. Created attachment 437918 [details]
Patch that works around the bug on older OSes
Mark Windows failure since Display P3 canvas is not available there.
(In reply to Cameron McCormack (:heycam) from comment #6) > I haven't measured how much it can slow things > down when repeatedly switching between color spaces. I just tested this. The overhead of the context flush and cache purge, when it's needed is about 2 ms on my machine. If drawing operations are done on canvases of alternating color spaces, then this is substantial. So now I am not sure that we want to do this. Created attachment 437934 [details]
Timing test
This is what I tested with. Got these results:
(A and B are srgb canvases, C and D are display-p3 canvases)
AAAA: 9 ms
CCCC: 23 ms
ABAB: 20 ms
CDCD: 12 ms
ACAC: 42739 ms
Created attachment 437970 [details]
Patch for EWS that disables the feature on unsupported platforms
Created attachment 437978 [details]
Patch for EWS that disables the feature on supported platforms
Created attachment 437981 [details]
Patch that disables the feature on unsupported platforms
Tools/Scripts/svn-apply failed to apply attachment 437981 [details] to trunk.
Please resolve the conflicts and upload a new patch.
Created attachment 438318 [details]
Patch
Committed r282513 (241738@main): <https://commits.webkit.org/241738@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 438318 [details]. |