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

Issue 2609253003: Remove ForceReclaimResources (Closed)

Created:
3 years, 11 months ago by ericrk
Modified:
3 years, 8 months ago
CC:
cc-bugs_chromium.org, chromium-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Remove ForceReclaimResources We had previously added ForceReclaimResources to BeginCommit to throttle frame output and prevent starving the display compositor's rasterization tasks. Unfortunately, this introduces significant overhead as well. With the addition of the Display Scheduler, this change no longer appears to be needed. The scheduler has independent controls for limiting the number of pending frames, and these should be used instead (if further tweaking is necessary). Removing this logic does not regress the benchmarks which it was initially added for, and seems unneeded at this point. Removing. R=reveman@chromium.org BUG=676852, 489515, 617268 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2609253003 Cr-Commit-Position: refs/heads/master@{#443061} Committed: https://chromium.googlesource.com/chromium/src/+/dc1892fc0639464d4418ccfaedfd1f95a5b947d0

Patch Set 1 #

Patch Set 2 : Completely Remove ForceReclaimResources #

Patch Set 3 : cleanup #

Total comments: 10

Patch Set 4 : rebase #

Patch Set 5 : Cleanup #

Patch Set 6 : Fix tests #

Patch Set 7 : Fix tests and re-enable previous swap behavior #

Total comments: 3

Patch Set 8 : rebase and make unit test more robust #

Patch Set 9 : Revert "Fix unittest" #

Patch Set 10 : better comments #

Total comments: 2

Patch Set 11 : Make test cases / phases the same #

Unified diffs Side-by-side diffs Delta from patch set Stats (+138 lines, -205 lines) Patch
M cc/layers/texture_layer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +76 lines, -55 lines 0 comments Download
M cc/output/compositor_frame_sink.h View 1 2 3 4 5 6 2 chunks +7 lines, -7 lines 0 comments Download
M cc/surfaces/direct_compositor_frame_sink.h View 1 1 chunk +0 lines, -1 line 0 comments Download
M cc/surfaces/direct_compositor_frame_sink.cc View 1 2 3 4 5 6 3 chunks +2 lines, -7 lines 0 comments Download
M cc/surfaces/direct_compositor_frame_sink_unittest.cc View 1 2 3 4 1 chunk +0 lines, -13 lines 0 comments Download
M cc/surfaces/surface.h View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M cc/surfaces/surface.cc View 1 2 3 4 1 chunk +0 lines, -5 lines 0 comments Download
M cc/surfaces/surface_factory.h View 1 2 3 4 1 chunk +0 lines, -4 lines 0 comments Download
M cc/surfaces/surface_factory.cc View 1 2 3 4 1 chunk +0 lines, -7 lines 0 comments Download
M cc/test/layer_tree_pixel_test.cc View 1 2 3 1 chunk +1 line, -5 lines 0 comments Download
M cc/test/layer_tree_test.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -4 lines 0 comments Download
M cc/test/test_compositor_frame_sink.h View 1 2 3 4 6 7 2 chunks +1 line, -3 lines 0 comments Download
M cc/test/test_compositor_frame_sink.cc View 1 2 3 4 3 chunks +1 line, -14 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -12 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 2 chunks +1 line, -28 lines 0 comments Download
M cc/trees/layer_tree_host_pixeltest_tiles.cc View 1 2 3 4 5 3 chunks +25 lines, -5 lines 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 3 4 5 6 7 8 chunks +9 lines, -30 lines 0 comments Download
M content/renderer/gpu/render_widget_compositor.cc View 1 2 3 4 5 6 7 1 chunk +3 lines, -0 lines 0 comments Download
M content/test/layouttest_support.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M ui/compositor/layer_unittest.cc View 1 2 3 4 5 6 7 1 chunk +7 lines, -3 lines 0 comments Download

Messages

Total messages: 94 (65 generated)
ericrk
3 years, 11 months ago (2017-01-03 19:46:29 UTC) #3
danakj
This is also what allows partial raster with 1 resource instead of 2, but I ...
3 years, 11 months ago (2017-01-03 19:59:07 UTC) #6
reveman
Thanks for taking a look at this so quickly. lgtm when danakj is happy.
3 years, 11 months ago (2017-01-03 20:35:25 UTC) #9
ericrk
Updated this to fully remove ForceReclaimResources and fix up unit tests. Partial raster still works ...
3 years, 11 months ago (2017-01-04 18:10:48 UTC) #10
danakj
https://codereview.chromium.org/2609253003/diff/40001/cc/surfaces/direct_compositor_frame_sink.cc File cc/surfaces/direct_compositor_frame_sink.cc (left): https://codereview.chromium.org/2609253003/diff/40001/cc/surfaces/direct_compositor_frame_sink.cc#oldcode107 cc/surfaces/direct_compositor_frame_sink.cc:107: factory_.ClearSurface(); Good news/bad news. This is the only caller ...
3 years, 11 months ago (2017-01-04 18:43:38 UTC) #15
ericrk
rebase
3 years, 11 months ago (2017-01-05 21:25:35 UTC) #16
ericrk
Ok, I think this CL is in good shape now. Delaying the more problematic part ...
3 years, 11 months ago (2017-01-11 19:17:54 UTC) #46
danakj
LGTM https://codereview.chromium.org/2609253003/diff/160001/cc/layers/texture_layer_unittest.cc File cc/layers/texture_layer_unittest.cc (right): https://codereview.chromium.org/2609253003/diff/160001/cc/layers/texture_layer_unittest.cc#newcode706 cc/layers/texture_layer_unittest.cc:706: // resources. ^_^b https://codereview.chromium.org/2609253003/diff/160001/content/test/layouttest_support.cc File content/test/layouttest_support.cc (right): https://codereview.chromium.org/2609253003/diff/160001/content/test/layouttest_support.cc#newcode361 ...
3 years, 11 months ago (2017-01-11 19:28:24 UTC) #47
ericrk
https://codereview.chromium.org/2609253003/diff/160001/content/test/layouttest_support.cc File content/test/layouttest_support.cc (right): https://codereview.chromium.org/2609253003/diff/160001/content/test/layouttest_support.cc#newcode361 content/test/layouttest_support.cc:361: compositor_frame_sink->SetAlwaysSwap(); On 2017/01/11 19:28:24, danakj (slow) wrote: > Instead ...
3 years, 11 months ago (2017-01-11 23:10:50 UTC) #54
danakj
LGTM
3 years, 11 months ago (2017-01-11 23:12:59 UTC) #55
ericrk
+enne for content/renderer/gpu/render_widget_compositor.cc +tommi for content/test/layouttest_support.cc
3 years, 11 months ago (2017-01-11 23:13:17 UTC) #57
tommi (sloooow) - chröme
rs lgtm
3 years, 11 months ago (2017-01-11 23:19:54 UTC) #58
enne (OOO)
rwc lgtm (and lgtm in general)
3 years, 11 months ago (2017-01-11 23:24:02 UTC) #59
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2609253003/170001
3 years, 11 months ago (2017-01-11 23:41:07 UTC) #63
commit-bot: I haz the power
Committed patchset #8 (id:170001) as https://chromium.googlesource.com/chromium/src/+/dc1892fc0639464d4418ccfaedfd1f95a5b947d0
3 years, 11 months ago (2017-01-11 23:55:15 UTC) #66
brianderson
https://codereview.chromium.org/2609253003/diff/170001/cc/surfaces/surface_factory.cc File cc/surfaces/surface_factory.cc (left): https://codereview.chromium.org/2609253003/diff/170001/cc/surfaces/surface_factory.cc#oldcode101 cc/surfaces/surface_factory.cc:101: manager_->SurfaceModified(current_surface_->surface_id()); Manager::SurfaceModified calls Display::UpdateRootSurfaceResourcesLocked, which would become true after ...
3 years, 11 months ago (2017-01-12 00:38:16 UTC) #68
ericrk
A revert of this CL (patchset #8 id:170001) has been created in https://codereview.chromium.org/2633563003/ by ericrk@chromium.org. ...
3 years, 11 months ago (2017-01-13 20:41:15 UTC) #69
ericrk
danakj@, can you take a look at the updated unit test in texture_layer_unittest.cc? I had ...
3 years, 11 months ago (2017-01-18 18:44:48 UTC) #77
danakj
On 2017/01/18 18:44:48, ericrk wrote: > danakj@, can you take a look at the updated ...
3 years, 11 months ago (2017-01-18 19:30:39 UTC) #78
ericrk
On 2017/01/18 19:30:39, danakj (slow) wrote: > On 2017/01/18 18:44:48, ericrk wrote: > > danakj@, ...
3 years, 11 months ago (2017-01-18 20:12:20 UTC) #79
danakj
That's great thanks. LGTM https://codereview.chromium.org/2609253003/diff/250001/cc/layers/texture_layer_unittest.cc File cc/layers/texture_layer_unittest.cc (right): https://codereview.chromium.org/2609253003/diff/250001/cc/layers/texture_layer_unittest.cc#newcode657 cc/layers/texture_layer_unittest.cc:657: // Case #2: change mailbox ...
3 years, 11 months ago (2017-01-18 20:35:03 UTC) #80
ericrk
https://codereview.chromium.org/2609253003/diff/250001/cc/layers/texture_layer_unittest.cc File cc/layers/texture_layer_unittest.cc (right): https://codereview.chromium.org/2609253003/diff/250001/cc/layers/texture_layer_unittest.cc#newcode657 cc/layers/texture_layer_unittest.cc:657: // Case #2: change mailbox after the commit (and ...
3 years, 11 months ago (2017-01-18 23:18:24 UTC) #81
danakj
That is very nice!
3 years, 11 months ago (2017-01-18 23:20:08 UTC) #84
ericrk
On 2017/01/18 23:20:08, danakj (out sick) wrote: > That is very nice! =============================================================================== So, I ...
3 years, 8 months ago (2017-04-12 18:01:42 UTC) #88
danakj
SGTM On Wed, Apr 12, 2017 at 2:01 PM, <ericrk@chromium.org> wrote: > On 2017/01/18 23:20:08, ...
3 years, 8 months ago (2017-04-12 19:01:48 UTC) #89
brianderson
It would simplify DisplayScheduler, so +1 there. Considering recent efforts targeting low memory devices though, ...
3 years, 8 months ago (2017-04-12 19:32:19 UTC) #91
Maria
On 2017/04/12 19:32:19, brianderson wrote: > It would simplify DisplayScheduler, so +1 there. > > ...
3 years, 8 months ago (2017-04-12 21:41:47 UTC) #92
danakj
This does not affect android, as android does not use ui::Compositor or raster in the ...
3 years, 8 months ago (2017-04-13 15:16:16 UTC) #93
kylechar
3 years, 8 months ago (2017-04-19 14:23:43 UTC) #94
Message was sent while issue was closed.
On 2017/04/13 15:16:16, danakj wrote:
> This does not affect android, as android does not use ui::Compositor or
> raster in the browser compositor.
> 
> On Wed, Apr 12, 2017 at 5:41 PM, <mailto:mariakhomenko@chromium.org> wrote:
> 
> > On 2017/04/12 19:32:19, brianderson wrote:
> > > It would simplify DisplayScheduler, so +1 there.
> > >
> > > Considering recent efforts targeting low memory devices though, I wonder
> > if we
> > > should coordinate when to regress memory. Would it make sense to defer it
> > until
> > > other memory improvements bring OOM crash rates to am acceptable level?
> > >
> > > +mariakhomenko
> >
> > I think this depends on the size of the regression to Android. I am seeing
> > a
> > 500KiB regression on the chromeperf link above. I tried loading the graph
> > from
> > the same revision for Android and didn't see anything on it. I think we
> > should
> > measure it -- this should help decide how to proceed. Low memory device
> > work is
> > targeted to M-61.
> >
> > https://codereview.chromium.org/2609253003/
> >
> 
> -- 
> You received this message because you are subscribed to the Google Groups
> "Chromium-reviews" group.
> To unsubscribe from this group and stop receiving emails from it, send an
email
> to mailto:chromium-reviews+unsubscribe@chromium.org.

I've rebased this and uploaded in https://codereview.chromium.org/2822143003.
I'm just trying to run some perf tests and then I'll send it out for review.

Powered by Google App Engine
This is Rietveld 408576698