Go to file
Kevin Lubick 2753b12ff5 [canvaskit] Add drawRect4f as example 'fast path' API
I added 3 tests, one using the drawRect API naively,
one using drawRect with a Malloc'd array, and one using
the drawRect4f.

rough local measurements:
 - [baseline with tip of tree code]: 50ms
 - naive drawRect: 40ms
 - drawRect with malloc: 28ms
 - drawRect4f: 27ms

I also tried the benchmarks locally with taking in paint
as a const reference. I did not see any changes, but that
could just be small sample size. I plan to land the code
as is for now, collect a bit of data in Perf and then try
landing the const reference stuff and see if we get
something measurable.

To aid this, I added in a helper list of tests to only run
some benchmarks easily.

Change-Id: I790b2d6fc32c125a4d371768fffb19ab22633d4e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/314622
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-09-02 20:10:30 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Move convexity enum out of public 2020-08-30 13:04:22 +00:00
bin bin/try: automatically set 'git cl issue' when not found 2020-06-25 17:44:01 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Use Dawn's BUILD.gn instead of defining another one for Skia. 2020-04-13 23:26:31 +00:00
client_utils/android Enable ClangTidy check modernize-make-unique. 2020-08-03 17:53:52 +00:00
demos.skia.org Add path rendering performance demo to demos.skia.org 2020-08-11 19:57:08 +00:00
dm Add idea of DataType to SkYUVAPixmapInfo. 2020-09-02 13:21:45 +00:00
docker [canvaskit,pathkit] Update to emsdk 2.0 2020-08-20 14:55:50 +00:00
docs/examples Only expose isConvex on path publicly. 2020-08-28 16:56:29 +00:00
example Clean up GrContext references in the src/gpu 2020-07-16 14:14:08 +00:00
experimental Use factories to avoid using (deprecated) path editing methods 2020-08-24 19:53:13 +00:00
fuzz Add GrDirectContext arg to SkImage::readPixels 2020-08-27 19:26:29 +00:00
gm Simplify firstdirection 2020-08-30 15:01:02 +00:00
gn disable -Wpsabi everywhere 2020-09-02 14:46:35 +00:00
include update SkNx allTrue/anyTrue 2020-09-02 17:11:45 +00:00
infra Revert "debug LSAN failures" 2020-09-01 19:36:56 +00:00
modules [canvaskit] Add drawRect4f as example 'fast path' API 2020-09-02 20:10:30 +00:00
platform_tools add SurfaceView support for skottie on android 2020-08-21 13:24:30 +00:00
resources [skottie] Assorted shape repeater fixes 2020-08-26 13:24:53 +00:00
samplecode create a sample to demonstrate a timing attack 2020-08-28 16:17:39 +00:00
site SkRuntimeEffect SkSL has a new signature for main() 2020-08-25 13:36:28 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Replace empty Block with Nop statement. 2020-09-02 19:47:35 +00:00
tests Ensure that inlined if/else blocks are properly scoped. 2020-09-02 19:07:55 +00:00
third_party Revert "Removing ICU dependencies from skparagraph BUILD.gn file" 2020-09-01 20:51:33 +00:00
tools [canvaskit] Add drawRect4f as example 'fast path' API 2020-09-02 20:10:30 +00:00
.clang-format Disable BinPackParameters in .clang-format 2020-03-27 14:32:40 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore [infra] Update recipe dependencies 2020-08-03 11:34:57 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Search ICU data on Windows relative to the current module. 2020-08-20 14:51:42 +00:00
BUILD.gn Revert "Revert "use pathbuilder"" 2020-08-26 17:35:34 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll Chromium from 09ccc6e069bb to 33b01ad5c6d0 (397 revisions) 2020-09-02 06:33:45 +00:00
go.mod Update Go Deps 2020-07-25 05:33:32 +00:00
go.sum Update Go Deps 2020-07-25 05:33:32 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py PRESUBMIT: Don't check formatting of deleted files 2020-04-08 10:36:09 +00:00
public.bzl Remove webgl from public.bzl 2020-08-20 17:40:54 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
RELEASE_NOTES.txt Add idea of DataType to SkYUVAPixmapInfo. 2020-09-02 13:21:45 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.