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

Issue 606679 link

Starred by 3 users

Issue metadata

Status: Duplicate
Merged: issue 606678
Owner:
Closed: May 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

Investigate performance problems for 'Animometer score > Paths' 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, Apr 27 2016

Owner: ikilpatrick@chromium.org
Status: Assigned (was: Untriaged)
Ramblings from investigations.

All investigations were done with my MacBook Pro Mid 2014 15"
Score is from benchmarking with just "ramp".

Safari out of the box:
~1950

Canary out of the box (w/ forced GPU rasterization):
~1250-1300

Chromium build out of the box (w/ mac_strip_release=0) (w/ forced GPU rasterization):
~1250-1300

Initial chromium trace shows that benchmark is main thread bound for us:
[see trace_chromium_trace_osx_main_thread_bound.json.gz]
[see screenshot_1]

Lets CPU profile next!
trace_chromium_trace_osx_main_thread_bound.json.gz
2.4 MB Download
screenshot_1.png
322 KB View Download
CPU Profiling!
TL;DR we spend all of our time in Skia SW Path Drawing:

See attached Instruments screenshot:
And attached Instruments trace:

Next up, lets see if we can force the canvas into displaylist+cwtileworker raster!
screenshot_2.png
885 KB View Download
chromium_instruments_cpu_profile.trace.zip
936 KB Download
===== Can ignore this if you like, this is just me playing... =====

Created franken-build of Chromium forcing canvas to be drawn on CompositorTileWorker:

See attached screen shots + chromium trace.
Ramp Result: still ~1250-1300.

Main thread is clean! But obviously still blocked on raster.

Lets do a quick CPU trace...

[see attached screenshot]

Horray! We successfully just moved software raster onto a different thread! #fail.

TL;DR - Bottleneck is Skia SW Path rendering?

trace_frankbuild_forced_compositor_tile_worker_raster.json.gz
4.9 MB Download
Screen Shot 2016-04-29 at 11.21.46 AM.png
410 KB View Download
Screen Shot 2016-04-29 at 11.21.32 AM.png
305 KB View Download
Screen Shot 2016-04-29 at 12.12.26 PM.png
1.1 MB View Download
Cc: junov@chromium.org
@junov, does this look correct? Who is best person on Skia to cc/?

Comment 6 by junov@chromium.org, May 2 2016

Mergedinto: 606678
Status: Duplicate (was: Assigned)
Merging with Canvas Arcs, which basically has the same bottleneck

Sign in to add a comment