Bug 145719 - [iOS] Don't force compositing layers for no-op 3D transforms on low-memory devices.
Summary: [iOS] Don't force compositing layers for no-op 3D transforms on low-memory de...
Status: REOPENED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Andreas Kling
URL:
Keywords: InRadar, Performance
Depends on: 145723
Blocks:
  Show dependency treegraph
 
Reported: 2015-06-05 16:58 PDT by Andreas Kling
Modified: 2015-06-06 09:58 PDT (History)
7 users (show)

See Also:


Attachments
Patch (2.64 KB, patch)
2015-06-05 16:59 PDT, Andreas Kling
ggaren: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Kling 2015-06-05 16:58:24 PDT
<rdar://problem/19973042>
Comment 1 Andreas Kling 2015-06-05 16:59:45 PDT
Created attachment 254398 [details]
Patch
Comment 2 WebKit Commit Bot 2015-06-05 17:01:46 PDT
Attachment 254398 [details] did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderLayerCompositor.cpp:66:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Geoffrey Garen 2015-06-05 17:15:54 PDT
Comment on attachment 254398 [details]
Patch

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

r=me

> Source/WebCore/rendering/RenderLayerCompositor.cpp:2476
> +    static uint64_t memSize = ramSize() / 1024 / 1024;

Please call this ramSizeInMB.

> Source/WebCore/rendering/RenderLayerCompositor.cpp:2478
> +        // Special policy for low-memory devices: Don't require compositing just because there's a no-op 3D transform.

I really really really wish we did this all the time.
Comment 4 Andreas Kling 2015-06-05 19:22:20 PDT
(In reply to comment #3) 
> > Source/WebCore/rendering/RenderLayerCompositor.cpp:2478
> > +        // Special policy for low-memory devices: Don't require compositing just because there's a no-op 3D transform.
> 
> I really really really wish we did this all the time.

Me too, really x3.
Comment 5 Andreas Kling 2015-06-05 20:12:11 PDT
Committed r185284: <http://trac.webkit.org/changeset/185284>
Comment 6 WebKit Commit Bot 2015-06-06 01:39:47 PDT
Re-opened since this is blocked by bug 145723
Comment 7 Darin Adler 2015-06-06 09:58:20 PDT
Comment on attachment 254398 [details]
Patch

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

>> Source/WebCore/rendering/RenderLayerCompositor.cpp:2476
>> +    static uint64_t memSize = ramSize() / 1024 / 1024;
> 
> Please call this ramSizeInMB.

If we are going to precompute and cache something, I suggest caching the boolean that indicates whether we should do the special policy. Not as good to instead cache a 64-bit number and keep comparing it against 512 over and over again.