Relands: Telemetry: hooks "chrome.gpuBenchmarking.smoothScrollBy" with java on android.
In order to provide more realistic benchmarks, instead of shortcutting in native via mousewheels,
let Telemetry cross all the boundaries and synthesize MotionEvents all the way up in java.
(relands after r173752 reverted https://codereview.chromium.org/11415227/)
BUG=166521, 168599
TEST=tools/perf/run_multipage_benchmarks --browser=android-content-shell scrolling_benchmark tools/perf/page_sets/top_25.json
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=199112
this was reverted, so I'm trying to reland... the first patchset 1 is just a ...
7 years, 11 months ago
(2013-01-09 16:08:53 UTC)
#1
this was reverted, so I'm trying to reland...
the first patchset 1 is just a git revert, so you may want to review only the
diffs between those two patchsets.
The notable changes are:
1. in render_widget_host_impl.cc, there's a very simple queue for
"in_process_event_types" that gets pushed on "event send" and popped on ACK..
works fine for mouse wheel, but not for touch events, as there are all sorts of
gestures being syntehsizes / ACKd... so rather than writing
yet-another-logic-layer for keeping a consistent event stream, it's simpler to
just keep Ticking the gesture.
please let me know your thoughts if this makes sense!
2. in SmoothScroller.java / .cc, I changed the logic a bit so it has a clearer
statema chine for DOWN -> MOVING -> UP, and it no longer sends both DOWN + MOVE
or MOVE + UP at the same tick.
once you guys are happy, I'll add avi for content/ OWNERS.
thanks!
Sami
The new state machine logic looks good to me. Like we talked, I'm less sure ...
7 years, 11 months ago
(2013-01-10 14:36:44 UTC)
#2
many many thanks, sami!!! I added far more details in crbug.com/166521, but to summarize: when ...
7 years, 11 months ago
(2013-01-10 19:09:48 UTC)
#3
many many thanks, sami!!!
I added far more details in crbug.com/166521, but to summarize:
when popping the ACK'd event, we need to skip other "categories" that may be in
the queue already, since the ACK can be triggered by other internal queues that
contain their on "categories" (i.e., touch_event_queue_)....
another look please?
https://codereview.chromium.org/11793003/diff/10002/content/public/android/ja...
File
content/public/android/java/src/org/chromium/content/browser/SmoothScroller.java
(right):
https://codereview.chromium.org/11793003/diff/10002/content/public/android/ja...
content/public/android/java/src/org/chromium/content/browser/SmoothScroller.java:38:
private final byte STATE_MOVING = 2;
On 2013/01/10 14:36:45, Sami wrote:
> Nit: any particular reason to skip 1?-)
haha, done. :)
Sami
I like this solution. Just one question... https://codereview.chromium.org/11793003/diff/8037/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/11793003/diff/8037/content/browser/renderer_host/render_widget_host_impl.cc#newcode1700 content/browser/renderer_host/render_widget_host_impl.cc:1700: i != ...
7 years, 11 months ago
(2013-01-10 19:45:34 UTC)
#4
https://codereview.chromium.org/11793003/diff/8037/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/11793003/diff/8037/content/browser/renderer_host/render_widget_host_impl.cc#newcode1697 content/browser/renderer_host/render_widget_host_impl.cc:1697: bool found = false; Should we pull this edit ...
7 years, 11 months ago
(2013-01-10 20:34:33 UTC)
#5
bring our your dead! this is not a dead patch... :) anyways: looks like the ...
7 years, 7 months ago
(2013-04-30 18:48:26 UTC)
#7
bring our your dead! this is not a dead patch... :)
anyways: looks like the pre-requisite has finally stuck, now we need to hook it
up with java.. ptal.
sadrul: sorry, I haven't got a chance to deeply look into your patch, but one
thing you may want is to look into the "GetScrollDelta" here, I moved up to
https://codereview.chromium.org/11793003/diff/18001/content/port/browser/smoo...
so that all implementations can reuse that.
thanks!
nduca
high level lgtm. marcus, if there's anything you want me to look at in detail, ...
7 years, 7 months ago
(2013-05-02 05:46:52 UTC)
#8
high level lgtm. marcus, if there's anything you want me to look at in detail,
let me know. Otherwise, my thought is we should just land and then experiment
with a few traces taken with this running to sanity check that they match the
real world pretty well.
Sami
Sorry for the delay, this still lgtm.
7 years, 7 months ago
(2013-05-02 14:41:11 UTC)
#9
Sorry for the delay, this still lgtm.
sadrul
renderer_host/ LGTM
7 years, 7 months ago
(2013-05-02 14:47:41 UTC)
#10
renderer_host/ LGTM
bulach
+jam: need OWNERS for content/, content/browser and content/port. thanks everyone!
7 years, 7 months ago
(2013-05-02 14:54:46 UTC)
#11
+jam: need OWNERS for content/, content/browser and content/port.
thanks everyone!
jam
https://codereview.chromium.org/11793003/diff/18001/content/port/browser/smooth_scroll_gesture.h File content/port/browser/smooth_scroll_gesture.h (right): https://codereview.chromium.org/11793003/diff/18001/content/port/browser/smooth_scroll_gesture.h#newcode32 content/port/browser/smooth_scroll_gesture.h:32: double GetScrollDelta(base::TimeTicks now, base::TimeDelta desired_interval); content/port also follows the ...
7 years, 7 months ago
(2013-05-02 15:56:16 UTC)
#12
ahn, thanks for the pointer jam! moved the functionality into its own class in content/browser/renderer_host/smooth_scroll_calculator.h, ...
7 years, 7 months ago
(2013-05-03 10:45:24 UTC)
#13
ahn, thanks for the pointer jam!
moved the functionality into its own class in
content/browser/renderer_host/smooth_scroll_calculator.h, not changing any
public API this time. ptal.
jam
content_browser.gypi lgtm, for the rest just have the existing owners that reviewed this before look ...
7 years, 7 months ago
(2013-05-03 18:06:41 UTC)
#14
content_browser.gypi lgtm, for the rest just have the existing owners that
reviewed this before look at the new file
bulach
thanks jam! sadrul / nduca: quick look at content/browser/renderer_host/smooth_scroll_calculator.* please? delta from patchset #4 is ...
7 years, 7 months ago
(2013-05-07 07:51:02 UTC)
#15
thanks jam!
sadrul / nduca: quick look at
content/browser/renderer_host/smooth_scroll_calculator.* please?
delta from patchset #4 is that rather than moving that function up to
content/port, I moved "sideways" into its own class in
content/browser/renderer_host.
sadrul
SLGTM. Just nits: https://codereview.chromium.org/11793003/diff/31001/content/browser/renderer_host/basic_mouse_wheel_smooth_scroll_gesture.h File content/browser/renderer_host/basic_mouse_wheel_smooth_scroll_gesture.h (right): https://codereview.chromium.org/11793003/diff/31001/content/browser/renderer_host/basic_mouse_wheel_smooth_scroll_gesture.h#newcode37 content/browser/renderer_host/basic_mouse_wheel_smooth_scroll_gesture.h:37: #endif // CONTENT_BROWSER_RENDERER_HOST_BASIC_MOUSE_WHEEL_SMOOTH_SCROLL_GESTURE_ two spaces before ...
7 years, 7 months ago
(2013-05-08 14:54:35 UTC)
#16
Issue 11793003: Relands: Telemetry: hooks "chrome.gpuBenchmarking.smoothScrollBy" with java on android.
(Closed)
Created 7 years, 11 months ago by bulach
Modified 7 years, 7 months ago
Reviewers: nduca, Sami, sadrul, jam
Base URL: svn://svn.chromium.org/chrome/trunk/src
Comments: 13