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

Issue 1541203003: IPC-based sync compositor software draw optimization (Closed)

Created:
5 years ago by boliu
Modified:
4 years, 12 months ago
Reviewers:
dcheng
CC:
chromium-reviews, darin-cc_chromium.org, jam, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-content_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

IPC-based sync compositor software draw optimization Instead of allocating and mapping a new chunk of shared memory segment in each draw synchronously, re-use the same segment if the sizes match exactly. Break software draws into 3 IPCs: SetSharedMemory: synchronous, pass the shared memory handle to be used for subsequent software draws to renderer DemandDrawSw: synchronous, the draw itself ZeroSharedMemory: asynchronous, zeros shared memory on renderer side, sent after each DemandDrawSw after browser is done reading from the shared memory. ZeroSharedMemory is asynchronous so zero-ing the memory can be done in parallel. Note messages on renderer are ordered, so ZeroSharedMemory is guaranteed to be handled before the next DemandDrawSw. BUG=545611 Committed: https://crrev.com/cafb1bf5df2fff9340fbeefb5ed3b7aaa22a4599 Cr-Commit-Position: refs/heads/master@{#367036}

Patch Set 1 #

Patch Set 2 : debug logging #

Patch Set 3 : fix maybe #

Patch Set 4 : clean ups #

Patch Set 5 : bring back zero-ing #

Total comments: 10

Patch Set 6 : review #

Patch Set 7 : remove CHECK #

Unified diffs Side-by-side diffs Delta from patch set Stats (+154 lines, -21 lines) Patch
M content/browser/android/synchronous_compositor_host.h View 1 2 3 4 5 3 chunks +7 lines, -0 lines 0 comments Download
M content/browser/android/synchronous_compositor_host.cc View 1 2 3 4 5 6 chunks +72 lines, -10 lines 0 comments Download
M content/common/android/sync_compositor_messages.h View 1 2 3 4 5 4 chunks +20 lines, -2 lines 0 comments Download
M content/common/android/sync_compositor_messages.cc View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/android/synchronous_compositor_proxy.h View 1 2 3 4 5 4 chunks +11 lines, -0 lines 0 comments Download
M content/renderer/android/synchronous_compositor_proxy.cc View 1 2 3 4 5 6 3 chunks +41 lines, -9 lines 0 comments Download

Messages

Total messages: 17 (9 generated)
boliu
no rush or anything, but ptal and happy holidays :)
5 years ago (2015-12-23 00:58:11 UTC) #6
dcheng
https://codereview.chromium.org/1541203003/diff/80001/content/browser/android/synchronous_compositor_host.cc File content/browser/android/synchronous_compositor_host.cc (right): https://codereview.chromium.org/1541203003/diff/80001/content/browser/android/synchronous_compositor_host.cc#newcode105 content/browser/android/synchronous_compositor_host.cc:105: SynchronousCompositorHost* host_; Nit: T* const. https://codereview.chromium.org/1541203003/diff/80001/content/browser/android/synchronous_compositor_host.cc#newcode117 content/browser/android/synchronous_compositor_host.cc:117: }; DISALLOW_COPY_AND_ASSIGN ...
4 years, 12 months ago (2015-12-29 00:00:24 UTC) #7
boliu
https://codereview.chromium.org/1541203003/diff/80001/content/browser/android/synchronous_compositor_host.cc File content/browser/android/synchronous_compositor_host.cc (right): https://codereview.chromium.org/1541203003/diff/80001/content/browser/android/synchronous_compositor_host.cc#newcode105 content/browser/android/synchronous_compositor_host.cc:105: SynchronousCompositorHost* host_; On 2015/12/29 00:00:24, dcheng wrote: > Nit: ...
4 years, 12 months ago (2015-12-29 00:16:30 UTC) #8
dcheng
lgtm https://codereview.chromium.org/1541203003/diff/80001/content/renderer/android/synchronous_compositor_proxy.cc File content/renderer/android/synchronous_compositor_proxy.cc (right): https://codereview.chromium.org/1541203003/diff/80001/content/renderer/android/synchronous_compositor_proxy.cc#newcode251 content/renderer/android/synchronous_compositor_proxy.cc:251: CHECK(software_draw_shm_); On 2015/12/29 at 00:16:30, boliu wrote: > ...
4 years, 12 months ago (2015-12-29 00:29:52 UTC) #9
boliu
thanks :) https://codereview.chromium.org/1541203003/diff/80001/content/renderer/android/synchronous_compositor_proxy.cc File content/renderer/android/synchronous_compositor_proxy.cc (right): https://codereview.chromium.org/1541203003/diff/80001/content/renderer/android/synchronous_compositor_proxy.cc#newcode251 content/renderer/android/synchronous_compositor_proxy.cc:251: CHECK(software_draw_shm_); On 2015/12/29 00:29:52, dcheng wrote: > ...
4 years, 12 months ago (2015-12-29 00:32:29 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1541203003/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1541203003/120001
4 years, 12 months ago (2015-12-29 00:33:39 UTC) #13
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 12 months ago (2015-12-29 01:40:26 UTC) #15
commit-bot: I haz the power
4 years, 12 months ago (2015-12-29 01:41:40 UTC) #17
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/cafb1bf5df2fff9340fbeefb5ed3b7aaa22a4599
Cr-Commit-Position: refs/heads/master@{#367036}

Powered by Google App Engine
This is Rietveld 408576698