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

Issue 140673009: CC/GPU: Add a soft limit to the compositor. (Closed)

Created:
6 years, 10 months ago by epenner
Modified:
6 years, 10 months ago
CC:
chromium-reviews, jbauman+watch_chromium.org, jam, sievers+watch_chromium.org, joi+watch-content_chromium.org, danakj+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, cc-bugs_chromium.org, android-webview-reviews_chromium.org, boliu, aelias_OOO_until_Jul13, ccameron
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

CC/GPU: Add a soft limit to the compositor. On low-end devices (and increasingly high-end) we want to reduce memory as much as possible for normal content yet not cause calamitous fallbacks such as raster-on-demand or flickering. This adds a hard memory limit in addition to the soft limit. The hard limit will be used only to avoid calamitous behavior. Limits are the same for this patch and will be tweaked in future patches. BUG=339144 NOTRY=true No-try since this is cc-only, cc_unittests pass, and the errors are not related. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=251180

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : Use CC Setting. #

Total comments: 12

Patch Set 4 : Format #

Patch Set 5 : Tests + Rebase. #

Patch Set 6 : Rebase. #

Patch Set 7 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+185 lines, -84 lines) Patch
M cc/resources/tile_manager.h View 1 2 3 4 1 chunk +3 lines, -1 line 0 comments Download
M cc/resources/tile_manager.cc View 1 2 3 4 5 6 7 chunks +39 lines, -20 lines 0 comments Download
M cc/resources/tile_manager_perftest.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M cc/resources/tile_manager_unittest.cc View 1 2 3 4 5 13 chunks +113 lines, -49 lines 0 comments Download
M cc/resources/tile_priority.h View 1 2 3 4 5 6 1 chunk +10 lines, -7 lines 0 comments Download
M cc/resources/tile_priority.cc View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 1 chunk +14 lines, -5 lines 0 comments Download
M cc/trees/layer_tree_settings.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_settings.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 32 (0 generated)
epenner
Ptal. I wanted to get this patch up before I go too far (given the ...
6 years, 10 months ago (2014-02-11 05:57:33 UTC) #1
ccameron
On 2014/02/11 05:57:33, epenner wrote: > Ptal. > > I wanted to get this patch ...
6 years, 10 months ago (2014-02-11 17:45:16 UTC) #2
epennerAtGoogle
On 2014/02/11 17:45:16, ccameron1 wrote: > On 2014/02/11 05:57:33, epenner wrote: > > Ptal. > ...
6 years, 10 months ago (2014-02-11 19:35:37 UTC) #3
enne (OOO)
On 2014/02/11 19:35:37, epennerAtGoogle wrote: > Enne/vmpstr/aelias does that sound acceptable? It will be considerably ...
6 years, 10 months ago (2014-02-11 19:45:53 UTC) #4
epennerAtGoogle
On 2014/02/11 19:45:53, enne wrote: > On 2014/02/11 19:35:37, epennerAtGoogle wrote: > > > Enne/vmpstr/aelias ...
6 years, 10 months ago (2014-02-11 19:53:39 UTC) #5
ccameron
TL;DR: What about putting this in CC to start with, and then, if we see ...
6 years, 10 months ago (2014-02-11 20:26:59 UTC) #6
epennerAtGoogle
Well said. In a utopia of fast synchronous IPCS, I think the complex cases would ...
6 years, 10 months ago (2014-02-11 20:43:59 UTC) #7
enne (OOO)
I don't feel strongly about this. If ccameron doesn't think this is worthwhile, then we ...
6 years, 10 months ago (2014-02-11 20:46:56 UTC) #8
epenner
Okay I removed all the plumbing and implemented the CC/TileManager bit. Reveman +R CCameron +cc ...
6 years, 10 months ago (2014-02-12 19:50:07 UTC) #9
reveman
https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc#newcode685 cc/resources/tile_manager.cc:685: nit: no need for this line. I'm surprised the ...
6 years, 10 months ago (2014-02-12 20:08:01 UTC) #10
epennerAtGoogle
https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc#newcode685 cc/resources/tile_manager.cc:685: On 2014/02/12 20:08:02, David Reveman wrote: > nit: no ...
6 years, 10 months ago (2014-02-12 21:54:33 UTC) #11
reveman
https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc#newcode724 cc/resources/tile_manager.cc:724: soft_bytes_left = std::max<int64>(0, soft_bytes_left); On 2014/02/12 21:54:34, epennerAtGoogle wrote: ...
6 years, 10 months ago (2014-02-12 22:14:52 UTC) #12
epennerAtGoogle
On 2014/02/12 22:14:52, David Reveman wrote: > https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc > File cc/resources/tile_manager.cc (right): > > https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc#newcode724 ...
6 years, 10 months ago (2014-02-12 22:16:27 UTC) #13
vmpstr
https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc#newcode622 cc/resources/tile_manager.cc:622: int64 soft_bytes_available = maybe visible_bytes_available and repaint_bytes_available? https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc#newcode680 cc/resources/tile_manager.cc:680: ...
6 years, 10 months ago (2014-02-12 22:19:35 UTC) #14
vmpstr
https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc#newcode622 cc/resources/tile_manager.cc:622: int64 soft_bytes_available = On 2014/02/12 22:19:36, vmpstr wrote: > ...
6 years, 10 months ago (2014-02-12 22:20:19 UTC) #15
epennerAtGoogle
https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/140673009/diff/160009/cc/resources/tile_manager.cc#newcode622 cc/resources/tile_manager.cc:622: int64 soft_bytes_available = On 2014/02/12 22:20:20, vmpstr wrote: > ...
6 years, 10 months ago (2014-02-12 23:08:45 UTC) #16
vmpstr
lgtm assuming everyone else is happy with it. I just have one comment request below. ...
6 years, 10 months ago (2014-02-12 23:21:04 UTC) #17
epenner
Ptal. Okay new patch up with tests. There was a minor bug in the tests ...
6 years, 10 months ago (2014-02-13 03:43:15 UTC) #18
reveman
lgtm
6 years, 10 months ago (2014-02-13 15:19:42 UTC) #19
epennerAtGoogle
The CQ bit was checked by epenner@google.com
6 years, 10 months ago (2014-02-13 18:00:33 UTC) #20
epenner
The CQ bit was unchecked by epenner@chromium.org
6 years, 10 months ago (2014-02-13 18:00:56 UTC) #21
epenner
The CQ bit was checked by epenner@chromium.org
6 years, 10 months ago (2014-02-13 18:01:02 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/epenner@chromium.org/140673009/550001
6 years, 10 months ago (2014-02-13 18:01:31 UTC) #23
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-13 18:01:36 UTC) #24
commit-bot: I haz the power
Failed to apply patch for cc/trees/layer_tree_settings.cc: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 10 months ago (2014-02-13 18:01:37 UTC) #25
epenner
The CQ bit was checked by epenner@chromium.org
6 years, 10 months ago (2014-02-13 20:57:18 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/epenner@chromium.org/140673009/880001
6 years, 10 months ago (2014-02-13 21:02:43 UTC) #27
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-13 22:36:31 UTC) #28
commit-bot: I haz the power
Retried try job too often on win_rel for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_rel&number=263763
6 years, 10 months ago (2014-02-13 22:36:32 UTC) #29
epenner
The CQ bit was checked by epenner@chromium.org
6 years, 10 months ago (2014-02-13 23:10:51 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/epenner@chromium.org/140673009/880001
6 years, 10 months ago (2014-02-13 23:14:49 UTC) #31
commit-bot: I haz the power
6 years, 10 months ago (2014-02-13 23:18:52 UTC) #32
Message was sent while issue was closed.
Change committed as 251180

Powered by Google App Engine
This is Rietveld 408576698