NEW190261
RenderLayer should traverse the render tree only once to draw its contents
https://bugs.webkit.org/show_bug.cgi?id=190261
Summary RenderLayer should traverse the render tree only once to draw its contents
Said Abou-Hallawa
Reported 2018-10-03 13:40:38 PDT
To draw a RenderLayer, WebKit has to follow the CSS stacking context order to paint different phases from the render tree. This patch tries to consolidate the render tree traversal in one pass using DisplayLists. The render tree objects can push their drawing into different DisplayLists in the same call. The purpose of this change is to accelerate the render layer drawing. Having the drawing recorded in DisplayLists should provide many optimization opportunities. 1. Caching the DisplayLists for later reuse. 2. Delete no-op drawing operations, for example { context.save(); context.restore(); } or { context.save(); context.clip(); context.restore(); } 3. Generating the DisplayList can happen in parallel.
Attachments
Patch (598.88 KB, patch)
2018-10-03 15:02 PDT, Said Abou-Hallawa
no flags
Patch for review (280.13 KB, patch)
2018-10-03 15:04 PDT, Said Abou-Hallawa
no flags
Patch (601.26 KB, patch)
2018-10-03 17:43 PDT, Said Abou-Hallawa
no flags
Archive of layout-test-results from ews103 for mac-sierra (1.02 MB, application/zip)
2018-10-03 18:22 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews107 for mac-sierra-wk2 (787.21 KB, application/zip)
2018-10-03 18:33 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews115 for mac-sierra (645.03 KB, application/zip)
2018-10-03 18:50 PDT, EWS Watchlist
no flags
Patch (622.16 KB, patch)
2018-10-04 13:24 PDT, Said Abou-Hallawa
ews-watchlist: commit-queue-
Patch for review (302.10 KB, patch)
2018-10-04 13:38 PDT, Said Abou-Hallawa
no flags
Archive of layout-test-results from ews100 for mac-sierra (974.11 KB, application/zip)
2018-10-04 14:04 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews104 for mac-sierra-wk2 (850.26 KB, application/zip)
2018-10-04 14:18 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews115 for mac-sierra (582.52 KB, application/zip)
2018-10-04 14:32 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews122 for ios-simulator-wk2 (849.78 KB, application/zip)
2018-10-04 15:53 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews126 for ios-simulator-wk2 (1.07 MB, application/zip)
2018-10-04 18:04 PDT, EWS Watchlist
no flags
Said Abou-Hallawa
Comment 1 2018-10-03 15:02:00 PDT
Said Abou-Hallawa
Comment 2 2018-10-03 15:04:00 PDT
Created attachment 351551 [details] Patch for review
Said Abou-Hallawa
Comment 3 2018-10-03 17:43:02 PDT
EWS Watchlist
Comment 4 2018-10-03 18:21:58 PDT
Comment on attachment 351567 [details] Patch Attachment 351567 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/9448749 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 5 2018-10-03 18:22:00 PDT
Created attachment 351570 [details] Archive of layout-test-results from ews103 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews103 Port: mac-sierra Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 6 2018-10-03 18:33:51 PDT
Comment on attachment 351567 [details] Patch Attachment 351567 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/9448831 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 7 2018-10-03 18:33:53 PDT
Created attachment 351573 [details] Archive of layout-test-results from ews107 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 8 2018-10-03 18:50:35 PDT
Comment on attachment 351567 [details] Patch Attachment 351567 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/9448838 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 9 2018-10-03 18:50:36 PDT
Created attachment 351574 [details] Archive of layout-test-results from ews115 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews115 Port: mac-sierra Platform: Mac OS X 10.12.6
Said Abou-Hallawa
Comment 10 2018-10-04 13:24:30 PDT
Said Abou-Hallawa
Comment 11 2018-10-04 13:38:48 PDT
Created attachment 351620 [details] Patch for review
EWS Watchlist
Comment 12 2018-10-04 14:04:41 PDT
Comment on attachment 351617 [details] Patch Attachment 351617 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/9455160 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 13 2018-10-04 14:04:42 PDT
Created attachment 351629 [details] Archive of layout-test-results from ews100 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews100 Port: mac-sierra Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 14 2018-10-04 14:18:49 PDT
Comment on attachment 351617 [details] Patch Attachment 351617 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/9455294 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 15 2018-10-04 14:18:51 PDT
Created attachment 351632 [details] Archive of layout-test-results from ews104 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 16 2018-10-04 14:32:41 PDT
Comment on attachment 351617 [details] Patch Attachment 351617 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/9455265 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 17 2018-10-04 14:32:43 PDT
Created attachment 351634 [details] Archive of layout-test-results from ews115 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews115 Port: mac-sierra Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 18 2018-10-04 15:53:02 PDT
Comment on attachment 351617 [details] Patch Attachment 351617 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/9455992 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 19 2018-10-04 15:53:04 PDT
Created attachment 351638 [details] Archive of layout-test-results from ews122 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews122 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.6
EWS Watchlist
Comment 20 2018-10-04 18:04:39 PDT
Comment on attachment 351617 [details] Patch Attachment 351617 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/9456992 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 21 2018-10-04 18:04:41 PDT
Created attachment 351645 [details] Archive of layout-test-results from ews126 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews126 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.6
Note You need to log in before you can comment on or make changes to this bug.