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

Issue 19266015: [SkiaBenchmarkingExtension] Add draw command timing info. (Closed)

Created:
7 years, 5 months ago by f(malita)
Modified:
7 years, 4 months ago
Reviewers:
pdr., nduca, Stephen White, piman
CC:
chromium-reviews, extensions-reviews_chromium.org, jam, apatrick_chromium, joi+watch-content_chromium.org, darin-cc_chromium.org, chromium-apps-reviews_chromium.org
Visibility:
Public.

Description

[SkiaBenchmarkingExtension] Add draw command timing info. Extend skiaBenchmarking.getOps() to also report per-op timing information (microseconds, as measured while drawing to a bitmap canvas). The CL introduces a new SkiaBenchmarkingCanvas abstraction, which is responsible for extracting the op list and gathering render timings. This is accomplished by multiplexing the draw commands onto two internal canvases: * an SkDebugCanvas - records command info and tracks the current command index. * an SkiaTimingCanvas - instrumented canvas (records timing information while drawing to a backing bitmap canvas). Since SkiaTimingCanvas relies on SkDebugCanvas for tracking the current command index, we do not have to worry about timing indices getting out of sync due to missing SkCanvas method overrides, and can selectively instrument only methods of interest. This insulates skiaBenchmarking from SkCanvas API changes. R=nduca@chromium.org, piman@chromium.org, senorblanco@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=214404

Patch Set 1 #

Patch Set 2 : Self review, minor cleanup. #

Patch Set 3 : Rebased. #

Total comments: 3

Patch Set 4 : [not for landing] Fixed timing measurement, uploading for pdr testing. #

Patch Set 5 : Add dedicated getOpTimings() method, relocate SkiaBenchmarkingCanvas. #

Patch Set 6 : Speculative Mac & Win build fix. #

Total comments: 2

Patch Set 7 : Rebased, fixed SkDevice refcounting. #

Total comments: 4

Patch Set 8 : Rebased. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+344 lines, -0 lines) Patch
D content/renderer/skia_benchmarking_extension.cc View 1 2 3 4 5 6 4 chunks +53 lines, -0 lines 0 comments Download
A skia/ext/benchmarking_canvas.h View 1 2 3 4 5 6 1 chunk +50 lines, -0 lines 0 comments Download
A skia/ext/benchmarking_canvas.cc View 1 2 3 4 5 6 1 chunk +237 lines, -0 lines 0 comments Download
M skia/skia_chrome.gypi View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M skia/skia_library.gypi View 1 2 3 4 5 6 7 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 32 (0 generated)
f(malita)
7 years, 5 months ago (2013-07-16 19:28:41 UTC) #1
f(malita)
This CL depends on https://code.google.com/p/skia/source/detail?r=10095, which hasn't rolled in yet. Will have to retry the ...
7 years, 5 months ago (2013-07-16 19:47:59 UTC) #2
pdr.
On 2013/07/16 19:47:59, Florin Malita wrote: > This CL depends on https://code.google.com/p/skia/source/detail?r=10095, which > hasn't ...
7 years, 5 months ago (2013-07-17 22:26:27 UTC) #3
f(malita)
On 2013/07/17 22:26:27, pdr wrote: > On 2013/07/16 19:47:59, Florin Malita wrote: > > This ...
7 years, 5 months ago (2013-07-18 03:05:07 UTC) #4
pdr.
This looks good to me from a high level. I'll defer to nduca on the ...
7 years, 5 months ago (2013-07-18 20:57:11 UTC) #5
pdr.
I plumbed this into the debugger and I think these numbers are wrong. I'm getting ...
7 years, 5 months ago (2013-07-18 23:15:40 UTC) #6
f(malita)
On 2013/07/18 23:15:40, pdr wrote: > I plumbed this into the debugger and I think ...
7 years, 5 months ago (2013-07-19 00:47:36 UTC) #7
nduca
7 years, 5 months ago (2013-07-19 05:15:03 UTC) #8
nduca
lgtm as a baby step, but have you determined the difference between sum(cmd_time) compared to ...
7 years, 5 months ago (2013-07-19 05:15:11 UTC) #9
nduca
hmm though, can we keep the benchmarking extension as a cpp and put the new ...
7 years, 5 months ago (2013-07-19 10:21:41 UTC) #10
f(malita)
On 2013/07/19 05:15:11, nduca wrote: > lgtm as a baby step, but have you determined ...
7 years, 5 months ago (2013-07-19 14:06:46 UTC) #11
f(malita)
https://codereview.chromium.org/19266015/diff/19001/content/renderer/skia_benchmarking/skia_benchmarking_canvas.cc File content/renderer/skia_benchmarking/skia_benchmarking_canvas.cc (right): https://codereview.chromium.org/19266015/diff/19001/content/renderer/skia_benchmarking/skia_benchmarking_canvas.cc#newcode33 content/renderer/skia_benchmarking/skia_benchmarking_canvas.cc:33: // (but timing information will be inaccurate). On 2013/07/18 ...
7 years, 5 months ago (2013-07-19 14:07:29 UTC) #12
nduca
I understand the difficulty, but how do we justify this metric as valid or representative ...
7 years, 5 months ago (2013-07-19 18:16:19 UTC) #13
nduca
Meaning, lets get the evidence that the numbers are good, or discuss the limitations etc. ...
7 years, 5 months ago (2013-07-19 18:17:08 UTC) #14
f(malita)
On 2013/07/19 18:17:08, nduca wrote: > Meaning, lets get the evidence that the numbers are ...
7 years, 5 months ago (2013-07-19 18:25:00 UTC) #15
nduca
Maybe the thing to do with this patch i nail the api down enough with ...
7 years, 5 months ago (2013-07-19 18:26:59 UTC) #16
f(malita)
On 2013/07/19 18:26:59, nduca wrote: > Maybe the thing to do with this patch i ...
7 years, 5 months ago (2013-07-20 14:55:56 UTC) #17
f(malita)
On 2013/07/20 14:55:56, Florin Malita wrote: > On 2013/07/19 18:26:59, nduca wrote: > > And, ...
7 years, 5 months ago (2013-07-20 15:01:48 UTC) #18
f(malita)
I ran some tests comparing the measured cumulative time (sum{cmd_time[i]}) vs. the time to fully ...
7 years, 5 months ago (2013-07-21 23:22:52 UTC) #19
nduca
<3 Lgtm thank you Florin!
7 years, 5 months ago (2013-07-23 03:10:42 UTC) #20
nduca
(your points about incrementality are well made. Lets deal with that "someday")
7 years, 5 months ago (2013-07-23 03:11:29 UTC) #21
f(malita)
Thanks, Nat! Adding content & Skia owners.
7 years, 5 months ago (2013-07-23 13:19:23 UTC) #22
piman
https://codereview.chromium.org/19266015/diff/52001/content/renderer/skia_benchmarking_extension.cc File content/renderer/skia_benchmarking_extension.cc (right): https://codereview.chromium.org/19266015/diff/52001/content/renderer/skia_benchmarking_extension.cc#newcode251 content/renderer/skia_benchmarking_extension.cc:251: bounds.width(), bounds.height()))); do we need to unref the SkDevice? ...
7 years, 5 months ago (2013-07-23 16:29:02 UTC) #23
f(malita)
https://codereview.chromium.org/19266015/diff/52001/content/renderer/skia_benchmarking_extension.cc File content/renderer/skia_benchmarking_extension.cc (right): https://codereview.chromium.org/19266015/diff/52001/content/renderer/skia_benchmarking_extension.cc#newcode251 content/renderer/skia_benchmarking_extension.cc:251: bounds.width(), bounds.height()))); On 2013/07/23 16:29:02, piman wrote: > do ...
7 years, 5 months ago (2013-07-23 17:58:49 UTC) #24
Stephen White
https://codereview.chromium.org/19266015/diff/69001/content/renderer/skia_benchmarking_extension.cc File content/renderer/skia_benchmarking_extension.cc (right): https://codereview.chromium.org/19266015/diff/69001/content/renderer/skia_benchmarking_extension.cc#newcode248 content/renderer/skia_benchmarking_extension.cc:248: // Measure the total time by drawing straight into ...
7 years, 4 months ago (2013-07-29 14:43:11 UTC) #25
f(malita)
https://codereview.chromium.org/19266015/diff/69001/content/renderer/skia_benchmarking_extension.cc File content/renderer/skia_benchmarking_extension.cc (right): https://codereview.chromium.org/19266015/diff/69001/content/renderer/skia_benchmarking_extension.cc#newcode248 content/renderer/skia_benchmarking_extension.cc:248: // Measure the total time by drawing straight into ...
7 years, 4 months ago (2013-07-29 15:43:04 UTC) #26
Stephen White
On 2013/07/29 15:43:04, Florin Malita wrote: > https://codereview.chromium.org/19266015/diff/69001/content/renderer/skia_benchmarking_extension.cc > File content/renderer/skia_benchmarking_extension.cc (right): > > https://codereview.chromium.org/19266015/diff/69001/content/renderer/skia_benchmarking_extension.cc#newcode248 ...
7 years, 4 months ago (2013-07-29 16:52:11 UTC) #27
nduca
I'd like to use ARB_timer_query for the gpu equivalent timing... we've been slowly plumbing it ...
7 years, 4 months ago (2013-07-29 17:49:35 UTC) #28
f(malita)
Thanks Stephen! On 2013/07/29 16:52:11, Stephen White wrote: > > We could try to derive ...
7 years, 4 months ago (2013-07-29 20:02:13 UTC) #29
f(malita)
On 2013/07/29 17:49:35, nduca wrote: > I'd like to use ARB_timer_query for the gpu equivalent ...
7 years, 4 months ago (2013-07-29 20:09:47 UTC) #30
piman
lgtm
7 years, 4 months ago (2013-07-29 20:23:05 UTC) #31
f(malita)
7 years, 4 months ago (2013-07-30 18:47:40 UTC) #32
Message was sent while issue was closed.
Committed patchset #8 manually as r214404 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698