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

Issue 2429953002: Implement compositor thread VSync aligned event queue (Closed)

Created:
4 years, 2 months ago by chongz
Modified:
4 years, 1 month ago
CC:
brianderson, cc-bugs_chromium.org, chromium-reviews, dtapuska+chromiumwatch_chromium.org, tdresser+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement compositor thread VSync aligned event queue Add compositor thread event queue to |InputHandlerProxy|, queues |GestureScroll/Pinch| and dispatch on |WillBeginImplFrame()| signal from |LayerTreeHost|. Currently behind a feature flag and is disabled. Future Task: Coalesce events across start/end boundaries. Design Doc: https://docs.google.com/document/d/1SUPPJkqxEYMRso3Jw1wZnqD3g1dmif0ic-x5aQkpHBo/edit?usp=sharing BUG=625689 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Committed: https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d Cr-Commit-Position: refs/heads/master@{#433275}

Patch Set 1 #

Patch Set 2 : dtapuska's review: Non-template CompositorThreadEventQueue; Added blink_features.h; UMA only when e… #

Total comments: 29

Patch Set 3 : tdresser's review: Rename UMA entries and nits #

Total comments: 2

Patch Set 4 : tdresser's review: Move CanCoalesce/Coalesce; Test queueing time #

Total comments: 10

Patch Set 5 : dtapuska's review: Use TickClock; Remove compositor_event_queue_enabled_; Nits #

Total comments: 11

Patch Set 6 : dtapuska&enne's review: Call |Now()| once per loop; Chromium style; Remove parameterized test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1004 lines, -288 lines) Patch
M cc/input/input_handler.h View 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_scroll.cc View 1 2 3 2 chunks +7 lines, -0 lines 0 comments Download
M content/common/input/event_with_latency_info.h View 1 2 3 4 5 3 chunks +3 lines, -23 lines 0 comments Download
M content/common/input/event_with_latency_info.cc View 1 2 3 3 chunks +2 lines, -255 lines 0 comments Download
M content/renderer/input/main_thread_event_queue_unittest.cc View 1 2 3 5 chunks +5 lines, -5 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 1 chunk +41 lines, -0 lines 0 comments Download
M ui/events/blink/BUILD.gn View 1 1 chunk +6 lines, -0 lines 0 comments Download
M ui/events/blink/blink_event_util.h View 1 2 3 4 5 2 chunks +10 lines, -0 lines 0 comments Download
M ui/events/blink/blink_event_util.cc View 1 2 3 4 5 4 chunks +266 lines, -0 lines 0 comments Download
A ui/events/blink/blink_features.h View 1 2 1 chunk +16 lines, -0 lines 0 comments Download
A ui/events/blink/blink_features.cc View 1 2 1 chunk +14 lines, -0 lines 0 comments Download
A ui/events/blink/compositor_thread_event_queue.h View 1 2 3 4 1 chunk +47 lines, -0 lines 0 comments Download
A ui/events/blink/compositor_thread_event_queue.cc View 1 2 3 4 1 chunk +34 lines, -0 lines 0 comments Download
A ui/events/blink/event_with_callback.h View 1 2 3 4 5 1 chunk +66 lines, -0 lines 0 comments Download
A ui/events/blink/event_with_callback.cc View 1 2 3 4 1 chunk +79 lines, -0 lines 0 comments Download
M ui/events/blink/input_handler_proxy.h View 1 2 3 4 5 5 chunks +21 lines, -0 lines 0 comments Download
M ui/events/blink/input_handler_proxy.cc View 1 2 3 4 5 7 chunks +114 lines, -5 lines 0 comments Download
M ui/events/blink/input_handler_proxy_unittest.cc View 1 2 3 4 5 6 chunks +268 lines, -0 lines 0 comments Download

Messages

Total messages: 102 (85 generated)
chongz
dtapuska@ PTAL, thanks!
4 years, 1 month ago (2016-10-27 03:52:31 UTC) #27
chongz
dtapuska@ I've updated the CL as per your comments: 1. Change |CompositorThreadEventQueue| to non-template class; ...
4 years, 1 month ago (2016-10-31 22:25:53 UTC) #44
tdresser
.pak file looks accidental. https://codereview.chromium.org/2429953002/diff/140001/ui/events/blink/blink_features.cc File ui/events/blink/blink_features.cc (right): https://codereview.chromium.org/2429953002/diff/140001/ui/events/blink/blink_features.cc#newcode12 ui/events/blink/blink_features.cc:12: } newline before }, update ...
4 years, 1 month ago (2016-11-01 18:12:44 UTC) #45
chongz
tdresser@ I've updated CL as per your comments, PTAL again, thanks! https://codereview.chromium.org/2429953002/diff/140001/ui/events/blink/blink_features.cc File ui/events/blink/blink_features.cc (right): ...
4 years, 1 month ago (2016-11-02 21:29:33 UTC) #50
tdresser
Looks like we're missing tests for some histograms. Other than that, this LGTM (but get ...
4 years, 1 month ago (2016-11-04 16:51:03 UTC) #51
chongz
@dtapuska PTAL again, thanks! > Looks like we're missing tests for some histograms. Added tests ...
4 years, 1 month ago (2016-11-08 21:59:22 UTC) #59
dtapuska
https://codereview.chromium.org/2429953002/diff/200001/ui/events/blink/compositor_thread_event_queue.h File ui/events/blink/compositor_thread_event_queue.h (right): https://codereview.chromium.org/2429953002/diff/200001/ui/events/blink/compositor_thread_event_queue.h#newcode38 ui/events/blink/compositor_thread_event_queue.h:38: typedef std::deque<std::unique_ptr<EventWithCallback>> EventQueue; using is prefered now instead of ...
4 years, 1 month ago (2016-11-09 21:28:05 UTC) #62
chongz
dtapuska@ I've updated as per your comments, PTAL again, thanks! https://codereview.chromium.org/2429953002/diff/200001/ui/events/blink/compositor_thread_event_queue.h File ui/events/blink/compositor_thread_event_queue.h (right): https://codereview.chromium.org/2429953002/diff/200001/ui/events/blink/compositor_thread_event_queue.h#newcode38 ...
4 years, 1 month ago (2016-11-11 21:52:05 UTC) #70
dtapuska
enne@ do you have any feedback on this? https://codereview.chromium.org/2429953002/diff/240001/ui/events/blink/input_handler_proxy.cc File ui/events/blink/input_handler_proxy.cc (right): https://codereview.chromium.org/2429953002/diff/240001/ui/events/blink/input_handler_proxy.cc#newcode296 ui/events/blink/input_handler_proxy.cc:296: !IsGestureScollOrPinch(event_with_callback->event().type)) ...
4 years, 1 month ago (2016-11-14 18:18:45 UTC) #74
dtapuska
On 2016/11/14 18:18:45, dtapuska wrote: > enne@ do you have any feedback on this? > ...
4 years, 1 month ago (2016-11-14 18:19:02 UTC) #75
enne (OOO)
lgtm in general. This all seems quite reasonable to me with a few nits. https://codereview.chromium.org/2429953002/diff/240001/ui/events/blink/event_with_callback.h ...
4 years, 1 month ago (2016-11-14 23:59:46 UTC) #76
tdresser
https://codereview.chromium.org/2429953002/diff/240001/ui/events/blink/input_handler_proxy.cc File ui/events/blink/input_handler_proxy.cc (right): https://codereview.chromium.org/2429953002/diff/240001/ui/events/blink/input_handler_proxy.cc#newcode321 ui/events/blink/input_handler_proxy.cc:321: base::TimeTicks now = tick_clock_->NowTicks(); On 2016/11/14 23:59:46, enne wrote: ...
4 years, 1 month ago (2016-11-15 00:09:22 UTC) #77
chongz
isherman@ PTAL at "tools/metrics/histograms/histograms.xml", thanks! https://codereview.chromium.org/2429953002/diff/240001/ui/events/blink/event_with_callback.h File ui/events/blink/event_with_callback.h (right): https://codereview.chromium.org/2429953002/diff/240001/ui/events/blink/event_with_callback.h#newcode32 ui/events/blink/event_with_callback.h:32: const LatencyInfo latencyInfo() const ...
4 years, 1 month ago (2016-11-17 21:36:13 UTC) #92
Ilya Sherman
metrics lgtm, thanks
4 years, 1 month ago (2016-11-18 18:31:01 UTC) #95
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/2429953002/320001
4 years, 1 month ago (2016-11-18 18:33:56 UTC) #98
commit-bot: I haz the power
Committed patchset #6 (id:320001)
4 years, 1 month ago (2016-11-18 20:07:59 UTC) #100
commit-bot: I haz the power
4 years, 1 month ago (2016-11-18 20:10:48 UTC) #102
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d
Cr-Commit-Position: refs/heads/master@{#433275}

Powered by Google App Engine
This is Rietveld 408576698