[webkit-reviews] review granted: [Bug 123043] Remote Layer Tree: Double-buffering and minimization of repaints : [Attachment 214611] patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Oct 18 16:36:45 PDT 2013


Simon Fraser (smfr) <simon.fraser at apple.com> has granted Tim Horton
<thorton at apple.com>'s request for review:
Bug 123043: Remote Layer Tree: Double-buffering and minimization of repaints
https://bugs.webkit.org/show_bug.cgi?id=123043

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

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


> Source/WebCore/platform/graphics/mac/WebLayer.mm:64
> +    bool isTiledLayer = [layer isKindOfClass:[CATiledLayer class]];

Move this down.

> Source/WebCore/platform/graphics/mac/WebLayer.mm:117
> +    // If we have no dirty rects, repaint the whole layer.

Comment is the reverse of the immediately following statement which is
confusing.

> Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:124
> +	   Region cleanRegion(layerBounds);
> +	   cleanRegion.subtract(m_dirtyRegion);
> +
> +	   RetainPtr<CGImageRef> frontImage = m_frontBuffer->makeCGImage();
> +
> +	   for (const auto& rect : cleanRegion.rects())
> +	       context->drawNativeImage(frontImage.get(),
m_frontBuffer->size(), ColorSpaceDeviceRGB, rect, rect);

Seems like this could be much slower than copying over the entire layer in many
cases.


More information about the webkit-reviews mailing list