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

Issue 606674 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Apr 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Investigate performance problems for 'SVG Suite > SVG bouncing PNG images' benchmark

Project Member Reported by dk...@chromium.org, Apr 26 2016

Issue description

All benchmarks are under pr.gg/animometer/developer.html

- Set "Ramp" mode for benchmarking.
- Set "Keep at a fixed complexity" for profiling.  Set an appropriate [high] complexity next to each test's name.

File any performance bugs found as blocking this issue.
 

Comment 1 by dk...@chromium.org, May 20 2016

Ping! Any specific insights for this benchmark?

Comment 2 by ericrk@chromium.org, May 20 2016

Will profile today.

Comment 3 by ericrk@chromium.org, May 24 2016

Scores on Nexus 7 2nd Gen - Maintain 50fps:
SW - 7.18
GPU - 60.6

It looks like there are two bottlenecks here: Main thread takes a while, and the actual raster task time takes a while. GPU thread has a fair amount of gaps and looks like it isn't the bottleneck.

As far as raster task time, we take around 5ms to draw ~50 images - about half the time is taken recording the commands to a picture, and half the time is taken playing back the picture via MultiPictureDraw. This seems a bit long for both steps, especially just recording a picture... not sure if this can be optimized.

Need to investigate main thread further. - attaching a trace.
trace_svg_bouncing_png_images.json
12.0 MB View Download

Comment 4 by ericrk@chromium.org, May 24 2016

On desktop (15" MBP 2013) we are GPU bound - it's interesting that we can only draw ~180 of the same image in a frame - there are probably opportunities to detect that the same image is being drawn multiple times and batch these into a single draw command?

Comment 5 by ericrk@chromium.org, May 24 2016

Cc: bsalomon@chromium.org
Interestingly, on desktop, the "canvas bouncing png images" test, which produces a nearly identical effect, scores 5x better, so we're somehow generating much nicer GPU work.

looping in bsalomon in case he has some ideas on why this might be the case.

Comment 6 by bsalo...@google.com, May 25 2016

Not sure, but I'll try to grab a SKP tomorrow.
Cc: vmp...@chromium.org
There's a fairly large overhead in ref churn during the draw image (dealing with the image decode controller). I'm working on a fix that should eliminate the churn by doing some of the ref up front for the duration of the raster.

Comment 8 by ericrk@chromium.org, Sep 28 2016

Labels: -Pri-1 Pri-2
vmpstr@, did you end up landing the CL mentioned in #7?

Comment 9 by ericrk@chromium.org, Apr 16 2018

Status: WontFix (was: Assigned)
obsolete at this point.

Sign in to add a comment