Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Issue 11193010: cc: Add predictive pre-painting. (Closed)

Created:
8 years, 2 months ago by epenner
Modified:
8 years, 2 months ago
CC:
chromium-reviews, cc-bugs_chromium.org
Base URL:
http://git.chromium.org/chromium/src.git@PTM_TiledLayerChromium_fixes
Visibility:
Public.

Description

cc: Add predictive pre-painting. When scrolling quickly and with painting just barely able to keep up, it's possible get into a bad state where we always do visible painting and never get a chance to paint ahead of the fold. This shows up as flickering at the bottom of the page. This patch has two parts. First, it uses a scroll prediction when choosing what to paint (both for 'visible' and off-screen painting). Second, it adds a very simple scroll predictor based on the change in the visibleContentRect. The second part should almost certainly be improved (use impl-thread scroll/animation directions/velocities) but this provides an initial estimate that helps in the most important case (basic scrolling of big layers). This doesn't actually change the priorities of textures in the scroll direction (but changing the visible rect does this partially). This is not an issue currently since the what-to-paint logic doesn't strictly adhere to priority order. BUG=121957 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=163665

Patch Set 1 : Rebase. #

Patch Set 2 : Rebase + fix test #

Total comments: 5

Patch Set 3 : Add constants. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+174 lines, -31 lines) Patch
M cc/tiled_layer.h View 1 2 2 chunks +7 lines, -0 lines 0 comments Download
M cc/tiled_layer.cc View 1 2 7 chunks +89 lines, -25 lines 0 comments Download
M cc/tiled_layer_unittest.cc View 1 2 1 chunk +78 lines, -6 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
epenner
Rebased. ptal.
8 years, 2 months ago (2012-10-18 03:13:00 UTC) #1
enne (OOO)
It seems a little to me like "idle paint rect" and "predicted visible paint rect" ...
8 years, 2 months ago (2012-10-18 19:13:08 UTC) #2
epennerAtGoogle
I'll see if there is anything I can do to combine the idle part and ...
8 years, 2 months ago (2012-10-18 19:58:54 UTC) #3
epenner
Another quick comment. This only expands the visible rect and never just 'moves' it using ...
8 years, 2 months ago (2012-10-18 20:40:43 UTC) #4
enne (OOO)
lgtm I think I have wrapped my head around all the different rects, and I ...
8 years, 2 months ago (2012-10-19 18:40:56 UTC) #5
epenner
There is one cool idea Dana and I have discussed, which would determine the next ...
8 years, 2 months ago (2012-10-19 18:59:06 UTC) #6
danakj
On 2012/10/19 18:59:06, epenner wrote: > There is one cool idea Dana and I have ...
8 years, 2 months ago (2012-10-19 19:02:30 UTC) #7
epennerAtGoogle
> It also occured to me we could rely less on careful priorities in that ...
8 years, 2 months ago (2012-10-19 19:09:18 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/epenner@chromium.org/11193010/13001
8 years, 2 months ago (2012-10-23 18:58:57 UTC) #9
commit-bot: I haz the power
8 years, 2 months ago (2012-10-23 20:26:51 UTC) #10
Change committed as 163665

Powered by Google App Engine
This is Rietveld 408576698