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

Issue 779643002: Switch non-MPD nanobench path to use a separate canvas per tile (Closed)

Created:
6 years ago by robertphillips
Modified:
6 years ago
Reviewers:
bsalomon, mtklein
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Project:
skia
Visibility:
Public.

Description

Switch non-MPD nanobench path to use a separate canvas per tile It is desirable that, when layer hoisting is disabled, the MPD and non-MPD timings be roughly the same. Unfortunately, using a separate canvas for each tile (a requirement for MPD) introduces its own discrepancy into the timing. Using a separate canvas for each tile doesn't seem to make a difference for 8888 (see the non-MPD 8888 column below) but slows down GPU rendering (see the non-MPD GPU column below). Since this is how Chromium renders I propose switching to this regimen (even though it is "slowing down" GPU rendering). nanobench mean times (ms) with layer hoisting disabled (for desk_amazon.skp) 8888 MPD non-MPD 1 canvas (old-style) 0.628 1.71 separate (new-style) 0.795 1.63 GPU MPD non-MPD 1 canvas (old-style) 2.34 1.69 separate (new-style) 2.32 2.66 Committed: https://skia.googlesource.com/skia/+/a3e52724ac8b9fa7b48507bff4fa8e558a213e49

Patch Set 1 #

Patch Set 2 : Update to ToT #

Unified diffs Side-by-side diffs Delta from patch set Stats (+14 lines, -29 lines) Patch
M bench/SKPBench.cpp View 1 3 chunks +14 lines, -29 lines 0 comments Download

Messages

Total messages: 11 (4 generated)
robertphillips
6 years ago (2014-12-09 17:48:12 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/779643002/20001
6 years ago (2014-12-09 18:16:39 UTC) #4
commit-bot: I haz the power
Note for Reviewers: The CQ is waiting for an approval. If you believe that the ...
6 years ago (2014-12-09 18:16:40 UTC) #5
bsalomon
lgtm
6 years ago (2014-12-09 18:26:10 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/779643002/20001
6 years ago (2014-12-09 18:27:45 UTC) #9
commit-bot: I haz the power
Committed patchset #2 (id:20001) as https://skia.googlesource.com/skia/+/a3e52724ac8b9fa7b48507bff4fa8e558a213e49
6 years ago (2014-12-09 18:27:58 UTC) #10
robertphillips
6 years ago (2014-12-09 20:52:29 UTC) #11
Message was sent while issue was closed.
It appears that the additional expense when using multiple surfaces in the GPU
path is due to render target swapping. I've timed the old method (rendering into
a single canvas with clips) with and without transforms on the drawPicture call
(but keeping the overall content the same) and the times are roughly the same.

Powered by Google App Engine
This is Rietveld 408576698