Commit Graph

21 Commits

Author SHA1 Message Date
Kevin Lubick
f8823b5726 Reland "[canvaskit] Change SkRects to be arrays, not objects."
This is a reland of bdc214a50e

The CPU version of SkottieWasm is timing out for reasons unknown,
but the GPU version is happy. I think we can get rid of the CPU
version of the job since it has been more or less superseded by
the SkottieFrames one (and the latter is more stable).

Original change's description:
> [canvaskit] Change SkRects to be arrays, not objects.
>
> This changes several APIs, so there are lots of breaking
> notes in the Changelog.
>
> This made the "draw 100 colored regions" benchmark about
> 20% faster (1ms -> .8ms).
>
> In theory, rendering should stay the same.
>
> Change-Id: Ib80b15e2d980ad5d568fff4460d2b529766c1b36
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312491
> Reviewed-by: Nathaniel Nifong <nifong@google.com>

Change-Id: I674aba85ecfb30b72e94cbaf89b2d97bfae3b7a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315142
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-09-03 14:31:38 +00:00
Kevin Lubick
df4e3ab185 HTML typo egde => edge
Same problem was in infra repo:
https://skia-review.googlesource.com/c/buildbot/+/297738
https://skia-review.googlesource.com/c/buildbot/+/132921

Change-Id: I686e293aaf2a6c09f388eef864d3ea143ca2f69e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297719
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-06-19 15:12:06 +00:00
Kevin Lubick
4ad6b50df3 [canvaskit] Fix some other usages of .ready
Leftover from https://skia-review.googlesource.com/c/skia/+/291182

Change-Id: I7350839d43299846e9e9cbc58425013eb063b041
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/291356
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-05-21 14:52:53 +00:00
Kevin Lubick
6bbeaa7c64 [skottieWASM] make sure we are using CPU or GPU correctly
Change-Id: Ib9013fa9bedbbbf8a7787ef2a75d707dd6360cf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257635
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-12-03 18:29:53 +00:00
Hal Canary
389c8e9d2d [minor] mark scripts as executable
if a filename ends with `.py` and  the file begins with '#!.*python.*',
make it executable.

Change-Id: I41de516ff37343d3b0979bde9fd61813aec7365c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254439
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-11-21 17:06:27 +00:00
Chris Blume
08b68dba6a Add blocklist command line parameter
The name "blocklist" is more inclusive than "blacklist" while
still conveying the intention clearly.
See https://developers.google.com/style/word-list#blacklist

In order to rename Chromium's --ignore-gpu-blacklist command line
parameter we must first add the new --ignore-gpu-blocklist
everywhere it is used. Once this is done, Chromium can rename its
command line parameter and then we can remove the old references.

This CL adds the --ignore-gpu-blocklist command line parameter.

Bug: 842296
Change-Id: Icb54aa74a899d5530bad0c679f4382f28e13ff40
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239923
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Blume <cblume@google.com>
2019-09-06 21:07:20 +00:00
Ravi Mistry
3959dc29e2 [perf_skottiewasm_lottieweb] Increase loops to 5
NoTry: true
Bug: skia:9237
Change-Id: I6ca6434ac24c9172787b0bf545e5ce446cbfe756
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234899
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-08-15 16:21:29 +00:00
Ravi Mistry
5cc084bdfd [perf_skottiewasm_lottieweb] Script to parse and combine skottie/lottieweb perf CSVs
NoTry: true
Bug: skia:9237
Change-Id: I663a8b5ebdc789e3ba02291b5f801fb6fbbf5894
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/229763
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2019-07-25 17:58:08 +00:00
Ravi Mistry
d15571af2e [perf_skottiewasm_lottieweb] Use 3 loops for more consistency
Bug: skia:9237
Change-Id: I3e0dcf713f66fe5b0de7f37b9e89c964a2af8f35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228998
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-07-23 23:31:04 +00:00
Florin Malita
5372ebd373 [skottie-wasm-perf] Don't redraw unchanged frames
Bug: skia:9267
Change-Id: Ib10a0fd5829e61692b71e8d78c7ebee5a19a0a65
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/229013
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-07-22 19:32:36 +00:00
Ravi Mistry
4c5edc29fa [perf_skottiewasm_lottieweb] Add flag for use_gpu
If flag is true then run with headless=false and:
* --ignore-gpu-blacklist
* --enable-gpu-rasterization

NoTry: true
Bug: skia:9237
Change-Id: I8c3c40ee34fe3d3e92b41185c30afb91459a3f5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227060
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-07-12 18:21:57 +00:00
Florin Malita
aa04068be4 [perf_skottiewasm_lottieweb] Explicit window sizing
We're currently running with Puppeteer defaults (800x600), which
doesn't match our animation size.

  - set the Puppeteer viewport to 1000x1000
  - set the browser window size to the same

The latter is mostly useful for manual/non-headless runs.

Change-Id: Icce975ae89fc9375fdf7d8c458abf7223e844c82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227057
Auto-Submit: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-07-12 16:13:36 +00:00
Florin Malita
8590026dbf [perf_skottiewasm_lottieweb] Enable GPU tracing
Not consumed by any scripts ATM, but useful for manual trace inspection.

Change-Id: I2b2e2ad227278f6527454628475143294c655835
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226976
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-07-12 01:48:27 +00:00
Ravi Mistry
649774b686 [perf_skottiewasm_lottieweb] Turn on skottie+wasm flush for a better comparison
This enables us to use the same termination checks as for lottie-web.

NoTry: true
Bug: skia:9237
Change-Id: I9d5d0c450196c3800020e12b45868c656cdcc46a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226858
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2019-07-11 19:58:25 +00:00
Ravi Mistry
37a4bedfc8 [perf_skottiewasm_lottieweb] Do 2 loops with 25 points each and then pick 25 from the middle
Doing this will avoid the unreliable frames at the start (setup related) and at the end (teardown related). Also:
* Increase timeouts in lottie-web-perf.js and skottie-wasm-perf.js since we are looping twice now.
* Fix bug where ret code was 0 if puppeteer test failed.

NoTry: true
Bug: skia:9237
Change-Id: I0933ecb87113b40c162712076c38fb7379b352d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226836
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-07-11 18:23:17 +00:00
Ravi Mistry
56065d9b87 [skottie-wasm-perf] Turn on chrome tracing
NoTry: true
Bug: skia:9237
Change-Id: Idca7e9417595a98ea86f4a90c98332963d0c86b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225897
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-07-08 20:53:40 +00:00
Ravi Mistry
832623902b [skottie-wasm-perf] Catch and exit with error if browser does not open
Might as well do the same in lottie-web-perf.
Also mark as infra failures to distinguish from real failures.

NoTry: true
Bug: skia:9207
Change-Id: Id1f3cc5719094d0bf0179ea1a84529c6f376e356
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223917
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-06-26 14:11:20 +00:00
Ravi Mistry
f52bce41f7 [skottie-wasm-perf] Make sure we are drawing to 1000x1000
NoTry: true
Bug: skia:9195
Change-Id: I7f5bf641dc69b618f2dfa27200b0e770d9e7ca80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223298
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2019-06-24 19:01:32 +00:00
Ravi Mistry
517be93cab [skottie-wasm-perf] Command line application to measure perf
Uses puppeteer to bring up Chrome headless and then calls
skottie-wasm-perf-html with endpoints for canvaskit.js, canvaskit.wasm,
and the target lottie file.

Notry: true
Bug: skia:9179
Change-Id: I3250f2edf92329dce6e3f0bf125fa26b70bed632
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221557
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-06-18 13:24:15 +00:00
Ravi Mistry
cb5ed84589 [skottie-wasm-perf] Date.now() has millisecs precision, we need microsecs
Uses performance.now() which should be within 5us.
performance.now() was increased to be within 100us in https://chromium-review.googlesource.com/c/chromium/src/+/853505 but this has been undone since then with https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/timing/time_clamper.h?l=26

Verified that the version of puppeteer we will use (1.17.0) uses crrev.com/662092 from puppeteer's package.json that revision is from May/2019 so it does include the 5us change.

NoTry: true
Bug: skia:9179
Change-Id: Ie6a42bae618b2f3a2be1bc229d1e8f8a503259d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221556
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2019-06-18 13:06:45 +00:00
Kevin Lubick
5f11dd74ce add html for perfing skottie-wasm
Change-Id: I7ce4d869565d57756b17587fcb612ccbfdbea9e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220747
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2019-06-14 17:51:25 +00:00