<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>85678</bug_id>
          
          <creation_ts>2012-05-04 15:51:16 -0700</creation_ts>
          <short_desc>Leaf non self-painting layers should bail out early in RenderLayer::paintLayer</short_desc>
          <delta_ts>2012-09-18 11:57:34 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://dglazkov.github.com/performance-tests/biggrid.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>75001</blocked>
    
    <blocked>92258</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>enne</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>616752</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-05-04 15:51:16 -0700</bug_when>
    <thetext>Currently RenderLayer::paintLayer() doesn&apos;t check for leaf non self-painting layers (it checks for fully transparent layers though). However in this case, we have no work to do.

For cases like tables with RenderLayers on every cells where the RenderLayer tree is heavily weighted by its leafs, paintLayer() is introducing some overhead.

The benchmark in mind here is http://dglazkov.github.com/performance-tests/biggrid.html. Create a 10,000 rows x 50 columns and tick &quot;overflow: hidden&quot; (which creates an overflow RenderLayer on all the cells): in this case, the paint time when scrolling is around 120 ms on my machine. This is due to walking all RenderLayers and doing some checks to end up not painting as we are not visible and don&apos;t need to anyway.

Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616766</commentid>
    <comment_count>1</comment_count>
      <attachid>140349</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-05-04 16:05:21 -0700</bug_when>
    <thetext>Created attachment 140349
Propsed change. Nice improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616839</commentid>
    <comment_count>2</comment_count>
      <attachid>140349</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-04 17:54:02 -0700</bug_when>
    <thetext>Comment on attachment 140349
Propsed change. Nice improvement.

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        For RenderLayer trees heavily weigthed by their leafs (like a table with a leaf RenderLayer for each cells),

typo: weigthed

I would just say:

     For layer trees that have a large number of leaf nodes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616863</commentid>
    <comment_count>3</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-05-04 19:16:26 -0700</bug_when>
    <thetext>Committed r116203: &lt;http://trac.webkit.org/changeset/116203&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620687</commentid>
    <comment_count>4</comment_count>
      <attachid>140349</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-05-10 10:22:34 -0700</bug_when>
    <thetext>Comment on attachment 140349
Propsed change. Nice improvement.

Clear cq? flag from old attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658406</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-06-27 00:16:27 -0700</bug_when>
    <thetext>This cause bug 90052.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658407</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-06-27 00:16:56 -0700</bug_when>
    <thetext>Sorry, I mean that &lt;http://trac.webkit.org/r116203&gt; caused bug 99052.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140349</attachid>
            <date>2012-05-04 16:05:21 -0700</date>
            <delta_ts>2012-05-10 10:22:34 -0700</delta_ts>
            <desc>Propsed change. Nice improvement.</desc>
            <filename>bug-85678-20120504160520.patch</filename>
            <type>text/plain</type>
            <size>2146</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1OTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBiMzEyZTk2NWIwY2Q4
MjliZmMyZmNkODQ5YmU2NmMwZGQ1MmU2Ni4uMzZhMjJhMjc5NzE0ZDZkNzE4MTA4ZTA1Y2E2ZTkw
NzYxNjk0NWVlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTA0ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIExlYWYgbm9u
IHNlbGYtcGFpbnRpbmcgbGF5ZXJzIHNob3VsZCBiYWlsIG91dCBlYXJseSBpbiBSZW5kZXJMYXll
cjo6cGFpbnRMYXllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODU2NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24sIG5vIGV4cGVjdGVkIGNoYW5nZSBpbiBiZWhh
dmlvci4KKworICAgICAgICBUaGUgZ2lzdCBvZiB0aGUgY2hhbmdlIGlzIHRoYXQgbGVhZiBub24g
c2VsZi1wYWludGluZyBsYXllcnMgZG9uJ3QgbmVlZCB0byBiZSBwYWludGVkIGFzIHRoZWlyCisg
ICAgICAgIGFzc29jaWF0ZWQgUmVuZGVyQm94TW9kZWxPYmplY3Qgc2hvdWxkIHByb3Blcmx5IHBh
aW50IGl0c2VsZiB3aXRob3V0IGFueSBoZWxwLgorCisgICAgICAgIEZvciBSZW5kZXJMYXllciB0
cmVlcyBoZWF2aWx5IHdlaWd0aGVkIGJ5IHRoZWlyIGxlYWZzIChsaWtlIGEgdGFibGUgd2l0aCBh
IGxlYWYgUmVuZGVyTGF5ZXIgZm9yIGVhY2ggY2VsbHMpLAorICAgICAgICBub3QgYmFpbGluZyBv
dXQgaXMgYSBiaWcgb3ZlcmhlYWQgYXMgaXQgZW5kcyB1cCBkb2luZyBhIGxvdCBvZiBjb21wdXRh
dGlvbiBmb3Igbm8gcmVhbCBwYWludGluZy4gU2VlCisgICAgICAgIGh0dHA6Ly9kZ2xhemtvdi5n
aXRodWIuY29tL3BlcmZvcm1hbmNlLXRlc3RzL2JpZ2dyaWQuaHRtbCBmb3IgYSBiZW5jaG1hcmsg
Zm9yIHRoYXQuIE9uIG15IG1hY2hpbmUsIGl0CisgICAgICAgIHJlZHVjZXMgdGhlIHBhaW50IHRp
bWUgd2hlbiBzY3JvbGxpbmcgdG8gNzBtcyBmcm9tIDEyMG1zICg0NSUgc3BlZWR1cCkuCisKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgorCiAyMDEyLTA1LTAzICBDaHJpcyBGbGVpemFjaCAgPGNm
bGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgYWNjZXNzaWJpbGl0eS9taXNzcGVsbGVkLWF0
dHJpYnV0ZWQtc3RyaW5nLmh0bWwgdGVzdCBzb21ldGltZXMgdGhyb3dzIGV4Y2VwdGlvbnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDhjZjlhMWMwNjkzODE2
M2Y2MmYzMmFmNGVmNTEwY2VlNjllZGRhZjMuLjllM2Y0N2VkZjZmNzgwNDg4N2MyN2VjZDc2NmM2
ZDJlZDI0NDZlMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApA
QCAtMjkwMCw2ICsyOTAwLDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIoUmVuZGVy
TGF5ZXIqIHJvb3RMYXllciwgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAogICAgIGlmICghcmVu
ZGVyZXIoKS0+b3BhY2l0eSgpKQogICAgICAgICByZXR1cm47CiAKKyAgICAvLyBOb24gc2VsZi1w
YWludGluZyBsZWFmIGxheWVycyBkb24ndCBuZWVkIHRvIGJlIHBhaW50ZWQgYXMgdGhlaXIgcmVu
ZGVyZXIoKSBzaG91bGQgcHJvcGVybHkgcGFpbnQgaXRzZWxmLgorICAgIGlmICghaXNTZWxmUGFp
bnRpbmdMYXllcigpICYmICFmaXJzdENoaWxkKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGlm
IChwYWludHNXaXRoVHJhbnNwYXJlbmN5KHBhaW50QmVoYXZpb3IpKQogICAgICAgICBwYWludEZs
YWdzIHw9IFBhaW50TGF5ZXJIYXZlVHJhbnNwYXJlbmN5OwogCg==
</data>
<flag name="review"
          id="146179"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>