Bug 176196 - Simplify compositing layer updating
Summary: Simplify compositing layer updating
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on: 177267
Blocks:
  Show dependency treegraph
 
Reported: 2017-08-31 16:53 PDT by Simon Fraser (smfr)
Modified: 2018-12-01 11:10 PST (History)
8 users (show)

See Also:


Attachments
Patch (13.94 KB, patch)
2017-08-31 16:57 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews106 for mac-elcapitan-wk2 (1.58 MB, application/zip)
2017-08-31 18:10 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews126 for ios-simulator-wk2 (1.28 MB, application/zip)
2017-08-31 18:34 PDT, Build Bot
no flags Details
Patch (16.26 KB, patch)
2017-09-19 20:39 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2017-08-31 16:53:11 PDT
Simplify compositing layer updating
Comment 1 Simon Fraser (smfr) 2017-08-31 16:57:41 PDT
Created attachment 319541 [details]
Patch
Comment 2 Build Bot 2017-08-31 18:10:33 PDT
Comment on attachment 319541 [details]
Patch

Attachment 319541 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/4420508

New failing tests:
tiled-drawing/background-transparency-toggle.html
Comment 3 Build Bot 2017-08-31 18:10:35 PDT
Created attachment 319558 [details]
Archive of layout-test-results from ews106 for mac-elcapitan-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106  Port: mac-elcapitan-wk2  Platform: Mac OS X 10.11.6
Comment 4 Build Bot 2017-08-31 18:34:56 PDT
Comment on attachment 319541 [details]
Patch

Attachment 319541 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/4420557

New failing tests:
scrollingcoordinator/ios/sync-layer-positions-after-scroll.html
Comment 5 Build Bot 2017-08-31 18:34:57 PDT
Created attachment 319560 [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.12.5
Comment 6 Simon Fraser (smfr) 2017-09-19 20:39:01 PDT
Created attachment 321285 [details]
Patch
Comment 7 WebKit Commit Bot 2017-09-19 23:16:47 PDT
Comment on attachment 321285 [details]
Patch

Clearing flags on attachment: 321285

Committed r222254: <http://trac.webkit.org/changeset/222254>
Comment 8 WebKit Commit Bot 2017-09-19 23:16:49 PDT
All reviewed patches have been landed.  Closing bug.
Comment 9 Matt Lewis 2017-09-20 13:38:33 PDT
This revision has caused the test fast/images/animated-gif-webkit-transform.html
to start timing out on all platforms at a high rate.

I was able to reproduce the failure with run-webkit-tests fast/images/ -f --guard-malloc --iterations=10 --no-retry-failure

https://build.webkit.org/results/Apple%20El%20Capitan%20Release%20WK2%20(Tests)/r222273%20(4605)/results.html

Diff:

--- /Volumes/Data/slave/elcapitan-release-tests-wk2/build/layout-test-results/fast/images/animated-gif-webkit-transform-expected.txt
+++ /Volumes/Data/slave/elcapitan-release-tests-wk2/build/layout-test-results/fast/images/animated-gif-webkit-transform-actual.txt
@@ -1,18 +1,3 @@
-Test that animated images are correctly paused / resumed when translated in and out of view using -webkit-transform.
+#PID UNRESPONSIVE - com.apple.WebKit.WebContent.Development (pid 81962)
+FAIL: Timed out waiting for notifyDone to be called
 
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS isFirstImagePaused() became false
-PASS isSecondImagePaused() became true
-PASS isFirstImagePaused() is false
-Translating images left so that first image is no longer visible, but second image is.
-PASS isFirstImagePaused() became true
-PASS isSecondImagePaused() became false
-Translating images right so that second image is no longer visible, but first image is.
-PASS isFirstImagePaused() became false
-PASS isSecondImagePaused() became true
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
Comment 10 WebKit Commit Bot 2017-09-20 13:58:56 PDT
Re-opened since this is blocked by bug 177267
Comment 11 Simon Fraser (smfr) 2017-09-22 13:24:05 PDT
I think this was a performance regression because before the change, we only call RLB::updateGeomery on layers that get a style change, but after the change, we call it on all layers since we do a compositing tree walk every frame.
Comment 12 Simon Fraser (smfr) 2018-12-01 11:09:09 PST
Done as part of the incremental compositing changes.
Comment 13 Radar WebKit Bug Importer 2018-12-01 11:10:32 PST
<rdar://problem/46397204>