Bug 170082 - [Mac] Remove backing store for layers that are outside the viewport
Summary: [Mac] Remove backing store for layers that are outside the viewport
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Andreas Kling
URL:
Keywords: InRadar, Performance
Depends on:
Blocks:
 
Reported: 2017-03-24 16:08 PDT by Andreas Kling
Modified: 2017-06-01 22:04 PDT (History)
7 users (show)

See Also:


Attachments
Proposed patch (14.41 KB, patch)
2017-03-24 16:18 PDT, Andreas Kling
no flags Details | Formatted Diff | Diff
Proposed patch (14.62 KB, patch)
2017-03-24 16:22 PDT, Andreas Kling
simon.fraser: review+
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews105 for mac-elcapitan-wk2 (1.23 MB, application/zip)
2017-03-24 17:48 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews123 for ios-simulator-wk2 (14.04 MB, application/zip)
2017-03-24 18:16 PDT, Build Bot
no flags Details
Proposed patch (21.04 KB, patch)
2017-06-01 18:37 PDT, Andreas Kling
simon.fraser: review+
Details | Formatted Diff | Diff
Patch for landing (21.04 KB, patch)
2017-06-01 20:06 PDT, Andreas Kling
commit-queue: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from webkit-cq-01 for mac-elcapitan (967.48 KB, application/zip)
2017-06-01 21:10 PDT, WebKit Commit Bot
no flags Details
Patch for landing (21.04 KB, patch)
2017-06-01 21:25 PDT, Andreas Kling
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Kling 2017-03-24 16:08:32 PDT
<rdar://problem/31245009>

On iOS we already detach backing stores for compositing layers outside of the tiling coverage rect.
Let's bring this feature Back to the Mac(tm)!
Comment 1 Andreas Kling 2017-03-24 16:18:05 PDT
Created attachment 305333 [details]
Proposed patch
Comment 2 Build Bot 2017-03-24 16:19:57 PDT
Attachment 305333 [details] did not pass style-queue:


ERROR: Source/WebCore/testing/Internals.h:282:  enum members should use InterCaps with an initial capital letter or initial 'k' for C-style enums.  [readability/enum_casing] [4]
ERROR: LayoutTests/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 2 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Andreas Kling 2017-03-24 16:22:02 PDT
Created attachment 305335 [details]
Proposed patch
Comment 4 Build Bot 2017-03-24 16:24:06 PDT
Attachment 305335 [details] did not pass style-queue:


ERROR: Source/WebCore/testing/Internals.h:282:  enum members should use InterCaps with an initial capital letter or initial 'k' for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 5 Simon Fraser (smfr) 2017-03-24 16:43:48 PDT
Comment on attachment 305335 [details]
Proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=305335&action=review

> LayoutTests/ChangeLog:4
> +        <https://webkit.org/b/170082>

This isn't the format that webkit-patch uses.
Comment 6 Build Bot 2017-03-24 17:48:00 PDT
Comment on attachment 305335 [details]
Proposed patch

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

New failing tests:
fast/text-autosizing/text-size-adjust-inline-style.html
fast/hidpi/filters-and-image-buffer-resolution.html
Comment 7 Build Bot 2017-03-24 17:48:02 PDT
Created attachment 305345 [details]
Archive of layout-test-results from ews105 for mac-elcapitan-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105  Port: mac-elcapitan-wk2  Platform: Mac OS X 10.11.6
Comment 8 Build Bot 2017-03-24 18:16:51 PDT
Comment on attachment 305335 [details]
Proposed patch

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

New failing tests:
compositing/backing-store-attachment-1.html
Comment 9 Build Bot 2017-03-24 18:16:54 PDT
Created attachment 305351 [details]
Archive of layout-test-results from ews123 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews123  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.6
Comment 10 Andreas Kling 2017-06-01 18:37:40 PDT
Created attachment 311790 [details]
Proposed patch

- Fix the layout test failures by simply never detaching backing stores for scroll control layers.
- Add iOS baseline for the new test.
Comment 11 Build Bot 2017-06-01 18:40:38 PDT
Attachment 311790 [details] did not pass style-queue:


ERROR: Source/WebCore/testing/Internals.h:297:  enum members should use InterCaps with an initial capital letter or initial 'k' for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 19 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 12 Simon Fraser (smfr) 2017-06-01 19:09:08 PDT
Comment on attachment 311790 [details]
Proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=311790&action=review

> Source/WebCore/platform/graphics/GraphicsLayer.h:552
> +    bool mayDetachBackingStore() const { return m_mayDetachBackingStore; }

canDetach? setNeverDetach?
Comment 13 Andreas Kling 2017-06-01 20:06:21 PDT
Created attachment 311797 [details]
Patch for landing

Sure, let's go with canDetach.
Comment 14 WebKit Commit Bot 2017-06-01 21:10:27 PDT
Comment on attachment 311797 [details]
Patch for landing

Rejecting attachment 311797 [details] from commit-queue.

New failing tests:
compositing/backing-store-attachment-1.html
Full output: http://webkit-queues.webkit.org/results/3857545
Comment 15 WebKit Commit Bot 2017-06-01 21:10:28 PDT
Created attachment 311799 [details]
Archive of layout-test-results from webkit-cq-01 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the commit-queue.
Bot: webkit-cq-01  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 16 Andreas Kling 2017-06-01 21:25:55 PDT
Created attachment 311800 [details]
Patch for landing

Oops, I messed up a bool condition while playing with "canDetach" vs "neverDetach" :|
thx2cq for catching it.
Comment 17 Build Bot 2017-06-01 21:27:02 PDT
Attachment 311800 [details] did not pass style-queue:


ERROR: Source/WebCore/testing/Internals.h:297:  enum members should use InterCaps with an initial capital letter or initial 'k' for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 19 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 18 WebKit Commit Bot 2017-06-01 22:04:17 PDT
Comment on attachment 311800 [details]
Patch for landing

Clearing flags on attachment: 311800

Committed r217696: <http://trac.webkit.org/changeset/217696>
Comment 19 WebKit Commit Bot 2017-06-01 22:04:19 PDT
All reviewed patches have been landed.  Closing bug.