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

Issue 2160743002: sync compositor: Reduce begin frame sync IPC overhead (Closed)

Created:
4 years, 5 months ago by boliu
Modified:
4 years, 4 months ago
Reviewers:
no sievers, dcheng
CC:
chromium-reviews, darin-cc_chromium.org, jam, ojars
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

sync compositor: Reduce begin frame sync IPC overhead By making the begin frame sync IPC per renderer process rather than per compositor. Convert SyncCompositorMsg_SynchronizeRendererState to a control message, with a list of routing_ids as input, and a list of SyncCompositorCommonRendererParams as output. Introduce SynchronousCompositorRPHObserver which is tied to the lifetime of the RenderProcessHost, which is the browser side handler of control messages. SynchronousCompositorFilter serves as the renderer side control message handler. SynchronousCompositorRPHObserver adds itself as a vsync observer for the duration of a single vsync. Then its OnVSync callback is called after SynchronousCompositorHosts, where the single synchronous IPC is sent. BUG=596235 Committed: https://crrev.com/3dd3ca72f1a2c3211177c72aae2d5027d8217769 Cr-Commit-Position: refs/heads/master@{#408528}

Patch Set 1 #

Patch Set 2 : backup #

Patch Set 3 : works #

Patch Set 4 : comiple fix #

Patch Set 5 : remove ui changes, cleanups #

Total comments: 2

Patch Set 6 : bad_message, reserve #

Total comments: 5

Patch Set 7 : review #

Patch Set 8 : clang format #

Unified diffs Side-by-side diffs Delta from patch set Stats (+265 lines, -30 lines) Patch
M content/browser/android/synchronous_compositor_host.h View 1 2 3 4 5 6 4 chunks +11 lines, -2 lines 0 comments Download
M content/browser/android/synchronous_compositor_host.cc View 1 2 3 4 5 6 7 3 chunks +5 lines, -7 lines 0 comments Download
A content/browser/android/synchronous_compositor_observer.h View 1 2 3 4 5 6 1 chunk +61 lines, -0 lines 0 comments Download
A content/browser/android/synchronous_compositor_observer.cc View 1 2 3 4 5 6 7 1 chunk +131 lines, -0 lines 0 comments Download
M content/browser/bad_message.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M content/common/android/sync_compositor_messages.h View 1 2 2 chunks +17 lines, -9 lines 0 comments Download
M content/common/android/sync_compositor_messages.cc View 1 chunk +8 lines, -8 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/android/synchronous_compositor_filter.h View 1 2 3 4 5 6 3 chunks +5 lines, -0 lines 0 comments Download
M content/renderer/android/synchronous_compositor_filter.cc View 1 2 3 4 5 6 3 chunks +22 lines, -0 lines 0 comments Download
M content/renderer/android/synchronous_compositor_proxy.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/android/synchronous_compositor_proxy.cc View 1 2 3 1 chunk +0 lines, -2 lines 0 comments Download

Messages

Total messages: 21 (8 generated)
boliu
ptal dcheng for ipc sievers for the rest The good part, 1ms less spent waiting ...
4 years, 5 months ago (2016-07-20 21:21:43 UTC) #5
dcheng
https://codereview.chromium.org/2160743002/diff/80001/content/browser/android/synchronous_compositor_rph_observer.cc File content/browser/android/synchronous_compositor_rph_observer.cc (right): https://codereview.chromium.org/2160743002/diff/80001/content/browser/android/synchronous_compositor_rph_observer.cc#newcode107 content/browser/android/synchronous_compositor_rph_observer.cc:107: DCHECK_EQ(compositor_host_pending_renderer_state_.size(), params.size()); This shouldn't be a DCHECK, since a ...
4 years, 5 months ago (2016-07-21 02:27:37 UTC) #6
boliu
https://codereview.chromium.org/2160743002/diff/80001/content/browser/android/synchronous_compositor_rph_observer.cc File content/browser/android/synchronous_compositor_rph_observer.cc (right): https://codereview.chromium.org/2160743002/diff/80001/content/browser/android/synchronous_compositor_rph_observer.cc#newcode107 content/browser/android/synchronous_compositor_rph_observer.cc:107: DCHECK_EQ(compositor_host_pending_renderer_state_.size(), params.size()); On 2016/07/21 02:27:36, dcheng wrote: > This ...
4 years, 5 months ago (2016-07-21 14:35:04 UTC) #7
dcheng
ipc lgtm https://codereview.chromium.org/2160743002/diff/100001/content/browser/android/synchronous_compositor_rph_observer.cc File content/browser/android/synchronous_compositor_rph_observer.cc (right): https://codereview.chromium.org/2160743002/diff/100001/content/browser/android/synchronous_compositor_rph_observer.cc#newcode115 content/browser/android/synchronous_compositor_rph_observer.cc:115: bad_message::SCA_INVALID_ARGUMENT); I guess a //content reviewer can ...
4 years, 5 months ago (2016-07-22 06:53:44 UTC) #8
boliu
sievers: ping
4 years, 5 months ago (2016-07-25 15:50:43 UTC) #9
no sievers
lgtm w/nits https://codereview.chromium.org/2160743002/diff/100001/content/browser/android/synchronous_compositor_rph_observer.cc File content/browser/android/synchronous_compositor_rph_observer.cc (right): https://codereview.chromium.org/2160743002/diff/100001/content/browser/android/synchronous_compositor_rph_observer.cc#newcode115 content/browser/android/synchronous_compositor_rph_observer.cc:115: bad_message::SCA_INVALID_ARGUMENT); On 2016/07/22 06:53:44, dcheng (OOO Aug ...
4 years, 4 months ago (2016-07-28 22:03:31 UTC) #10
boliu
https://codereview.chromium.org/2160743002/diff/100001/content/browser/android/synchronous_compositor_rph_observer.cc File content/browser/android/synchronous_compositor_rph_observer.cc (right): https://codereview.chromium.org/2160743002/diff/100001/content/browser/android/synchronous_compositor_rph_observer.cc#newcode115 content/browser/android/synchronous_compositor_rph_observer.cc:115: bad_message::SCA_INVALID_ARGUMENT); On 2016/07/28 22:03:30, sievers wrote: > On 2016/07/22 ...
4 years, 4 months ago (2016-07-28 23:22:40 UTC) #11
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/2160743002/140001
4 years, 4 months ago (2016-07-28 23:24:43 UTC) #14
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 4 months ago (2016-07-29 00:18:57 UTC) #16
commit-bot: I haz the power
Patchset 8 (id:??) landed as https://crrev.com/3dd3ca72f1a2c3211177c72aae2d5027d8217769 Cr-Commit-Position: refs/heads/master@{#408528}
4 years, 4 months ago (2016-07-29 00:21:11 UTC) #18
pfeldman
you should have generated tools/metrics/histograms/histograms.xml
4 years, 4 months ago (2016-07-30 00:21:46 UTC) #19
boliu
On 2016/07/30 00:21:46, pfeldman wrote: > you should have generated tools/metrics/histograms/histograms.xml Oops. Will do that ...
4 years, 4 months ago (2016-07-30 00:23:18 UTC) #20
boliu
4 years, 4 months ago (2016-07-30 00:26:39 UTC) #21
Message was sent while issue was closed.
On 2016/07/30 00:23:18, boliu wrote:
> On 2016/07/30 00:21:46, pfeldman wrote:
> > you should have generated tools/metrics/histograms/histograms.xml
> 
> Oops. Will do that now

https://codereview.chromium.org/2195983002/

Powered by Google App Engine
This is Rietveld 408576698