New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 706058 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

MotionMark benchmark running from WPR appears throttled compared to live site.

Project Member Reported by vmi...@chromium.org, Mar 28 2017

Issue description

Chrome Version: 59.0.3053.0
OS: OSX

I'm seeing what looks like throttled rendering behavior on some MotionMark tests when added to telemetry smoothness benchmarking.

Specifically, when applying the following CL which adds all MotionMark page tests, and running the "Design" test, the visual update rate appears ~10X lower than when running the live site.

Steps to reproduce:
1) Apply CL https://codereview.chromium.org/2771343003/
2) Run > ./tools/perf/run_benchmark --browser=foo smoothness.motionmark --story-filter=Design

The slow rendering rate is also reproduced when recording the WPR:

 > ./tools/perf/record_wpr smoothness_motionmark

The slow rendering does NOT reproduce with live sites:

 > ./tools/perf/run_benchmark --browser=foo smoothness.motionmark --story-filter=Design --use-live-sites

Attached are traces with the two modes.  In the WPR case it looks like script animations are running at the same rate, but rendering updates are being skipped for around 90% of frames.

I'm continuing to debug this.  My suspect is RenderingPipelineThrottling however '--disable-features=RenderingPipelineThrottling' does not seem to make a difference.  My next step is to try fully disabling throttling in code at FrameView::canThrottleRendering().
 
trace_design_via_wpr.json.gz
552 KB Download
trace_design_live_sites.json.gz
786 KB Download

Comment 1 by vmi...@chromium.org, Mar 28 2017

Cc: -nednguyen@chromium.org nedngu...@google.com
FWIW rendering pipeline throttling completely stops offscreen animations instead of running them at a lower framerate. Maybe try --disable-features=TimerThrottlingForHiddenFrames?

Comment 3 by vmi...@chromium.org, Mar 28 2017

Components: -Blink>Scheduling
Status: Assigned (was: Untriaged)
Ok, it's not any kind of renderer throttling.

The benchmark is using "Date.now()" to drive the animation, and webpagereplay hijacks the 'Date' implementation to increase replay determinism.

https://cs.chromium.org/chromium/src/third_party/webpagereplay/deterministic.js

I think the solution here is to change the benchmark.
Components: Test>Telemetry
Components: -Speed>Telemetry

Sign in to add a comment