f93d021680
For a modified bench, that installs colorfilterimagefilters and then draws a colored rect: before: 13/13 MB 18 1.66µs 1.67µs 1.67µs 1.73µs 1% █▂▂▃▄▁▂▁▁▃ 8888 after: 13/13 MB 17 874ns 878ns 882ns 920ns 2% █▁▂▂▁▂▂▁▁▁ 8888 Some observations - we can sometimes build several rasterpipelines in a single draw - filterColor4f (can be called more than once) - actual_blit - imagefilter::affectsTransparentBlack - calls through to the colorfilter - this in-turn invokes filterColor4f, which makes a pipeline + if we had elimnated the imagefilter (for a colorfilter) sooner, we would not have called affectsTransparentBlack + adding a virtual to colorfilter for affectsTransparentBlack might also avoid having to call filterColor4f (at least for filters that know how to determine this simply) For now however, increasing the arena's stack-budget seems to brush over these other inefficiencies. More observations - we decide to use pipeline before we fold-away the colorfilter (w/ no shader) - the pipeline later notices this, and becomes just a color draw - if we had removed the colorfilter earlier, we would have taken a different (legacy, slightly faster) blitter (logically using memset). Change-Id: I1a63414acbf23967c4d4daed9956bdc4d81148c6 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214682 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Reed <reed@google.com> |
||
---|---|---|
animations | ||
bench | ||
bin | ||
dm | ||
docker | ||
docs/examples | ||
example | ||
experimental | ||
fuzz | ||
gm | ||
gn | ||
include | ||
infra | ||
modules | ||
platform_tools | ||
resources | ||
samplecode | ||
site | ||
specs | ||
src | ||
tests | ||
third_party | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.gitignore | ||
.gn | ||
AUTHORS | ||
BUILD.gn | ||
codereview.settings | ||
CONTRIBUTING | ||
CQ_COMMITTERS | ||
DEPS | ||
go.mod | ||
go.sum | ||
LICENSE | ||
OWNERS | ||
PRESUBMIT.py | ||
public.bzl | ||
README | ||
README.chromium | ||
whitespace.txt |
Skia is a complete 2D graphic library for drawing Text, Geometries, and Images. See full details, and build instructions, at https://skia.org.