[webkit-reviews] review denied: [Bug 96087] Optimize painting of composited scrolling layers : [Attachment 163569] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Sep 12 15:43:38 PDT 2012


Simon Fraser (smfr) <simon.fraser at apple.com> has denied Sami Kyöstilä
<skyostil at chromium.org>'s request for review:
Bug 96087: Optimize painting of composited scrolling layers
https://bugs.webkit.org/show_bug.cgi?id=96087

Attachment 163569: Patch
https://bugs.webkit.org/attachment.cgi?id=163569&action=review

------- Additional Comments from Simon Fraser (smfr) <simon.fraser at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=163569&action=review


> Source/WebCore/ChangeLog:21
> +	   A new internal API for setting a layer debug paint color is
introduced to
> +	   allow testing the changes. All further paint operations to the
associated
> +	   RenderLayerBacking are marked with the given color. The tests use
this feature
> +	   to detect redundant and missing repaints.

I'd prefer that we address this by making repaint testing work for composited
layers, rather than doing something that requires matching pixel output.

> Source/WebCore/rendering/RenderBox.cpp:663
> +void RenderBox::applyCachedClipAndScrollOffsetForRepaint(LayoutRect&
paintRect) const
> +{
> +    paintRect.move(-scrolledContentOffset()); // For
overflow:auto/scroll/hidden.
> +
> +    // Do not clip scroll layer contents to reduce the number of repaints
while scrolling.
> +    if (hasOverflowClip() && hasLayer() &&
layer()->usesCompositedScrolling())
> +	   return;
> +
> +    // height() is inaccurate if we're in the middle of a layout of this
RenderBox, so use the
> +    // layer's size instead. Even if the layer's size is wrong, the layer
itself will repaint
> +    // anyway if its size does change.
> +    LayoutRect clipRect(LayoutPoint(), cachedSizeForOverflowClip());
> +    paintRect = intersection(paintRect, clipRect);
> +}

Please do this refactor in its own patch.


More information about the webkit-reviews mailing list