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

Issue 1782093002: Move fallback tick handling to compositor thread (Closed)

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

Description

Move fallback tick software draw. Ideally we want to remove the fallback ticking of webview entirely, but in the interim we should move it to the compositor thread in order to avoid the sync IPC for the software draw as well as the shared memory allocation. BUG=431166 Committed: https://crrev.com/3fd0c95168d270bd4c8bdc52caf05d24ae64d32e Cr-Commit-Position: refs/heads/master@{#381688}

Patch Set 1 #

Total comments: 7

Patch Set 2 : Address comments #

Total comments: 2

Patch Set 3 : Initialize fallback_tick_pending_ #

Total comments: 1

Patch Set 4 : don't SwapBuffers inside fallback tick #

Total comments: 4

Patch Set 5 : Cancel the fallback tick when DetachFromClient is called #

Total comments: 1

Patch Set 6 : Refactor fallback tick cancellation #

Unified diffs Side-by-side diffs Delta from patch set Stats (+48 lines, -107 lines) Patch
M android_webview/browser/browser_view_renderer.h View 2 chunks +0 lines, -22 lines 0 comments Download
M android_webview/browser/browser_view_renderer.cc View 7 chunks +2 lines, -83 lines 0 comments Download
M content/renderer/android/synchronous_compositor_output_surface.h View 1 2 3 4 5 3 chunks +8 lines, -0 lines 0 comments Download
M content/renderer/android/synchronous_compositor_output_surface.cc View 1 2 3 4 5 6 chunks +38 lines, -2 lines 0 comments Download

Messages

Total messages: 23 (8 generated)
Tobias Sargeant
4 years, 9 months ago (2016-03-10 15:28:29 UTC) #3
boliu
https://codereview.chromium.org/1782093002/diff/1/android_webview/browser/browser_view_renderer.cc File android_webview/browser/browser_view_renderer.cc (left): https://codereview.chromium.org/1782093002/diff/1/android_webview/browser/browser_view_renderer.cc#oldcode718 android_webview/browser/browser_view_renderer.cc:718: (is_paused_ && !clear_view_) || (attached_to_window_ && !window_visible_); So, according ...
4 years, 9 months ago (2016-03-11 17:43:09 UTC) #4
Tobias Sargeant
https://codereview.chromium.org/1782093002/diff/1/content/renderer/android/synchronous_compositor_output_surface.cc File content/renderer/android/synchronous_compositor_output_surface.cc (right): https://codereview.chromium.org/1782093002/diff/1/content/renderer/android/synchronous_compositor_output_surface.cc#newcode137 content/renderer/android/synchronous_compositor_output_surface.cc:137: void SynchronousCompositorOutputSurface::FallbackTickFired() { On 2016/03/11 17:43:09, boliu wrote: > ...
4 years, 9 months ago (2016-03-14 13:11:03 UTC) #5
boliu
https://codereview.chromium.org/1782093002/diff/20001/content/renderer/android/synchronous_compositor_output_surface.cc File content/renderer/android/synchronous_compositor_output_surface.cc (right): https://codereview.chromium.org/1782093002/diff/20001/content/renderer/android/synchronous_compositor_output_surface.cc#newcode80 content/renderer/android/synchronous_compositor_output_surface.cc:80: frame_swap_message_queue_(frame_swap_message_queue) { initialize fallback_tick_pending_
4 years, 9 months ago (2016-03-14 15:33:55 UTC) #6
Tobias Sargeant
https://codereview.chromium.org/1782093002/diff/20001/content/renderer/android/synchronous_compositor_output_surface.cc File content/renderer/android/synchronous_compositor_output_surface.cc (right): https://codereview.chromium.org/1782093002/diff/20001/content/renderer/android/synchronous_compositor_output_surface.cc#newcode80 content/renderer/android/synchronous_compositor_output_surface.cc:80: frame_swap_message_queue_(frame_swap_message_queue) { On 2016/03/14 15:33:55, boliu wrote: > initialize ...
4 years, 9 months ago (2016-03-14 15:40:48 UTC) #7
boliu
lgtm
4 years, 9 months ago (2016-03-14 15:41:29 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1782093002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1782093002/40001
4 years, 9 months ago (2016-03-14 15:41:58 UTC) #10
boliu
https://codereview.chromium.org/1782093002/diff/40001/content/renderer/android/synchronous_compositor_output_surface.cc File content/renderer/android/synchronous_compositor_output_surface.cc (right): https://codereview.chromium.org/1782093002/diff/40001/content/renderer/android/synchronous_compositor_output_surface.cc#newcode133 content/renderer/android/synchronous_compositor_output_surface.cc:133: sync_client_->SwapBuffers(frame); Tests failing DCHECK: [FATAL:synchronous_compositor_proxy.cc(370)] Check failed: hardware_draw_reply_ || ...
4 years, 9 months ago (2016-03-14 17:45:10 UTC) #12
boliu
https://codereview.chromium.org/1782093002/diff/60001/content/renderer/android/synchronous_compositor_output_surface.cc File content/renderer/android/synchronous_compositor_output_surface.cc (right): https://codereview.chromium.org/1782093002/diff/60001/content/renderer/android/synchronous_compositor_output_surface.cc#newcode134 content/renderer/android/synchronous_compositor_output_surface.cc:134: if (!fallback_tick_running_) sync_client_->SwapBuffers(frame); c++ style says this is should ...
4 years, 9 months ago (2016-03-15 15:10:54 UTC) #13
Tobias Sargeant
https://codereview.chromium.org/1782093002/diff/60001/content/renderer/android/synchronous_compositor_output_surface.cc File content/renderer/android/synchronous_compositor_output_surface.cc (right): https://codereview.chromium.org/1782093002/diff/60001/content/renderer/android/synchronous_compositor_output_surface.cc#newcode134 content/renderer/android/synchronous_compositor_output_surface.cc:134: if (!fallback_tick_running_) sync_client_->SwapBuffers(frame); On 2016/03/15 15:10:54, boliu wrote: > ...
4 years, 9 months ago (2016-03-16 17:29:28 UTC) #14
boliu
https://codereview.chromium.org/1782093002/diff/80001/content/renderer/android/synchronous_compositor_output_surface.cc File content/renderer/android/synchronous_compositor_output_surface.cc (right): https://codereview.chromium.org/1782093002/diff/80001/content/renderer/android/synchronous_compositor_output_surface.cc#newcode123 content/renderer/android/synchronous_compositor_output_surface.cc:123: fallback_tick_pending_ = false; This Cancel + pending_ = false ...
4 years, 9 months ago (2016-03-16 19:05:57 UTC) #15
boliu
On 2016/03/16 19:05:57, boliu wrote: > https://codereview.chromium.org/1782093002/diff/80001/content/renderer/android/synchronous_compositor_output_surface.cc > File content/renderer/android/synchronous_compositor_output_surface.cc (right): > > https://codereview.chromium.org/1782093002/diff/80001/content/renderer/android/synchronous_compositor_output_surface.cc#newcode123 > ...
4 years, 9 months ago (2016-03-16 19:06:10 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1782093002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1782093002/100001
4 years, 9 months ago (2016-03-17 09:45:36 UTC) #19
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 9 months ago (2016-03-17 10:51:49 UTC) #21
commit-bot: I haz the power
4 years, 9 months ago (2016-03-17 10:52:52 UTC) #23
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/3fd0c95168d270bd4c8bdc52caf05d24ae64d32e
Cr-Commit-Position: refs/heads/master@{#381688}

Powered by Google App Engine
This is Rietveld 408576698