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

Issue 1435133004: cc: Clean up max frames/swaps pending usage. (Closed)

Created:
5 years, 1 month ago by brianderson
Modified:
5 years, 1 month ago
CC:
chromium-reviews, rjkroege, jbauman+watch_chromium.org, maniscalco+watch-blimp_chromium.org, sriramsr+watch-blimp_chromium.org, mlamouri+watch-content_chromium.org, jam, sievers+watch_chromium.org, nyquist+watch-blimp_chromium.org, darin-cc_chromium.org, marcinjb+watch-blimp_chromium.org, kmarshall+watch-blimp_chromium.org, kalyank, mkwst+moarreviews-renderer_chromium.org, piman+watch_chromium.org, cc-bugs_chromium.org, dtrainor+watch-blimp_chromium.org, scheduler-bugs_chromium.org, danakj+watch_chromium.org, mithro-old, tdresser
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Clean up max frames/swaps pending usage. All output surfaces used by the Renderer and UI should only need a max swaps pending of 1, especially considering Surfaces and CompositorTimingHistory don't support multiple queued frames. The output suface used by the cc::Display, however, may have more than 1 swap pending - especially on platforms like CrOS where the SwapAck is deferred until the buffer is actually displayed. This patch: 1) Changes the default max pending frames/swaps from 2 to 1. 2) Changes Blimp to have only 1 pending frame. 3) DCHECKS that all Renderers and UIs have a max swaps pending of 1. 4) Sets the default value in the constructor of OutpuSurface::Capabilities, rather than through an extra check for zero + init. BUG=525756 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/0055b7eaee4ca249cb83ac8ddc5200cbf7a12069 Cr-Commit-Position: refs/heads/master@{#360283}

Patch Set 1 #

Patch Set 2 : DCHECK changes #

Total comments: 5

Patch Set 3 : Remove SetMaxSwapsPending #

Patch Set 4 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+22 lines, -77 lines) Patch
M blimp/client/compositor/blimp_output_surface.cc View 1 chunk +0 lines, -1 line 0 comments Download
M cc/output/output_surface.h View 2 chunks +1 line, -5 lines 0 comments Download
M cc/scheduler/scheduler.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M cc/scheduler/scheduler.cc View 1 2 1 chunk +0 lines, -4 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.h View 1 2 1 chunk +0 lines, -3 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.cc View 1 2 5 chunks +7 lines, -9 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 1 2 8 chunks +0 lines, -8 lines 0 comments Download
M cc/surfaces/onscreen_display_client.cc View 1 2 chunks +4 lines, -6 lines 0 comments Download
M cc/surfaces/surface_display_output_surface.cc View 1 chunk +0 lines, -1 line 0 comments Download
M cc/surfaces/surface_display_output_surface_unittest.cc View 1 chunk +1 line, -0 lines 0 comments Download
M cc/test/fake_layer_tree_host_impl_client.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M cc/test/fake_output_surface.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M cc/test/fake_output_surface.cc View 1 2 3 4 chunks +4 lines, -16 lines 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 1 chunk +1 line, -4 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M cc/trees/single_thread_proxy.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M cc/trees/thread_proxy.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 1 chunk +0 lines, -4 lines 0 comments Download
M components/mus/public/cpp/lib/output_surface.cc View 1 chunk +0 lines, -1 line 0 comments Download
M content/browser/compositor/browser_compositor_output_surface.cc View 1 chunk +0 lines, -1 line 0 comments Download
M content/browser/compositor/offscreen_browser_compositor_output_surface.cc View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
M content/renderer/android/synchronous_compositor_output_surface.cc View 1 chunk +0 lines, -1 line 0 comments Download
M content/renderer/gpu/compositor_output_surface.cc View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 32 (14 generated)
brianderson
I was trying to verify that cc::Scheduler can assume max_pending_swaps is 1 everywhere. +dtraintor: It ...
5 years, 1 month ago (2015-11-13 20:40:41 UTC) #4
David Trainor- moved to gerrit
blimp/ lgtm. https://codereview.chromium.org/1435133004/diff/20001/blimp/client/compositor/blimp_output_surface.cc File blimp/client/compositor/blimp_output_surface.cc (left): https://codereview.chromium.org/1435133004/diff/20001/blimp/client/compositor/blimp_output_surface.cc#oldcode17 blimp/client/compositor/blimp_output_surface.cc:17: capabilities_.max_frames_pending = 2; On 2015/11/13 20:40:41, brianderson ...
5 years, 1 month ago (2015-11-16 17:10:45 UTC) #5
brianderson
+boliu for owners review of content/renderer/android +sky for owners review of components/mus
5 years, 1 month ago (2015-11-16 18:23:10 UTC) #7
boliu
rs lgtm
5 years, 1 month ago (2015-11-16 18:25:07 UTC) #8
sunnyps
https://codereview.chromium.org/1435133004/diff/20001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/1435133004/diff/20001/cc/trees/layer_tree_host_impl.cc#newcode2303 cc/trees/layer_tree_host_impl.cc:2303: DCHECK_EQ(1, max_frames_pending); Why not remove the max_frames_pending capability completely? ...
5 years, 1 month ago (2015-11-16 20:17:46 UTC) #9
brianderson
https://codereview.chromium.org/1435133004/diff/20001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/1435133004/diff/20001/cc/trees/layer_tree_host_impl.cc#newcode2303 cc/trees/layer_tree_host_impl.cc:2303: DCHECK_EQ(1, max_frames_pending); On 2015/11/16 20:17:46, sunnyps wrote: > Why ...
5 years, 1 month ago (2015-11-16 20:56:58 UTC) #10
brianderson
Even more code deleted after Sunny's suggestion. Ptal.
5 years, 1 month ago (2015-11-16 22:32:28 UTC) #11
sky
sky->fsamuel
5 years, 1 month ago (2015-11-17 14:26:05 UTC) #13
Fady Samuel
mus lgtm.
5 years, 1 month ago (2015-11-17 16:23:49 UTC) #15
jbauman
lgtm
5 years, 1 month ago (2015-11-17 21:43:53 UTC) #16
sky
LGTM
5 years, 1 month ago (2015-11-17 22:05:12 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1435133004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1435133004/40001
5 years, 1 month ago (2015-11-17 22:10:07 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, no build URL)
5 years, 1 month ago (2015-11-17 22:25:01 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1435133004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1435133004/40001
5 years, 1 month ago (2015-11-17 22:59:55 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: chromeos_daisy_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, no build URL) linux_chromium_clobber_rel_ng on ...
5 years, 1 month ago (2015-11-17 23:06:33 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1435133004/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1435133004/60001
5 years, 1 month ago (2015-11-18 02:38:31 UTC) #30
commit-bot: I haz the power
Committed patchset #4 (id:60001)
5 years, 1 month ago (2015-11-18 03:41:23 UTC) #31
commit-bot: I haz the power
5 years, 1 month ago (2015-11-18 03:42:06 UTC) #32
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/0055b7eaee4ca249cb83ac8ddc5200cbf7a12069
Cr-Commit-Position: refs/heads/master@{#360283}

Powered by Google App Engine
This is Rietveld 408576698