Bug 52714

Summary: Scrolling in compositing mode naively repaints non-composited parts of the page
Product: WebKit Reporter: Adam Roben (:aroben) <aroben>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: cmarrin, simon.fraser, vangelis
Priority: P2 Keywords: InRadar, PlatformOnly
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows XP   

Description Adam Roben (:aroben) 2011-01-19 06:04:15 PST
The implementation of WebView::scrollBackingStore just calls m_backingLayer->setNeedsDisplayInRect(scrollViewRect), which will cause the non-composited parts of the page that intersect scrollViewRect to be repainted. This is a naive approach; it would be faster just to blit the contents into their new location and repaint only the newly-exposed contents.
Comment 1 Adam Roben (:aroben) 2011-01-19 06:07:48 PST
Perhaps we could take advantage of our layer-tiling code to improve this case.
Comment 2 Adam Roben (:aroben) 2011-01-19 06:08:15 PST
<rdar://problem/8884671>
Comment 3 Vangelis Kokkevis 2011-01-19 11:01:45 PST
(In reply to comment #1)
> Perhaps we could take advantage of our layer-tiling code to improve this case.

You might want to take a look at the chromium tiled root layer implementation in platform/graphics/chromium .  We recently switched over to a tiled root layer to improve scrolling performance.