Go to file
senorblanco 55b6d8be99 Implement a persistent uniqueID-based cache for SkImageFilter.
Add a unique ID to SkImageFilter, and use it as part
of a persistent cache of image-filtered results. This is used for
caching frame-to-frame coherent filters.

We also keep track of which filter subtrees do not reference the
src input, and use a GenID of zero for the src input in that case.
That way, subtrees which are not dependent on the filter input can be
cached independently of it.

This gives approximately a 4X speedup on
letmespellitoutforyou.com/samples/svg/filter_terrain.svg on Z620
and Nexus10. The cache key consists of the uniqueID of the filter, the
clip bounds, the CTM and the genID of the input bitmap.

Since this does not yet handle the case where the input primitives
(and part of the resulting filter tree) are unchanged, we have
to keep around the external cache for that painting case.
When the work to cache unchanging input primitives is done, the
old cache can be removed, and the new UniqueIDCache will be renamed
to Cache.

R=bsalomon@google.com, mtklein@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/414483003
2014-07-30 11:26:46 -07:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Add rotated rects benchmarks 2014-07-30 08:58:20 -07:00
debugger Fixed up SkTimedPicturePlayback 2014-07-08 13:07:57 -07:00
dm Cleanup: Rename SkOSPath functions. 2014-07-28 19:26:58 -07:00
docs warn that docs/quickstart.md is out of sync with official docs 2014-04-21 19:18:46 +00:00
expectations Enabling texture_domain_effect 2014-07-30 10:31:10 -07:00
experimental Cleanup: Rename SkOSPath functions. 2014-07-28 19:26:58 -07:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm Adding repeat mode to texture domain 2014-07-29 12:59:27 -07:00
gyp Add rotated rects benchmarks 2014-07-30 08:58:20 -07:00
include Implement a persistent uniqueID-based cache for SkImageFilter. 2014-07-30 11:26:46 -07:00
platform_tools Add ability to generate/use FDO profiles for Android 2014-07-29 12:38:25 -07:00
resources Adding resource files 2014-06-02 15:18:27 -04:00
samplecode Cleanup: Rename SkOSPath functions. 2014-07-28 19:26:58 -07:00
src Implement a persistent uniqueID-based cache for SkImageFilter. 2014-07-30 11:26:46 -07:00
tests Implement a persistent uniqueID-based cache for SkImageFilter. 2014-07-30 11:26:46 -07:00
third_party Delete third_party/harfbuzz 2014-07-10 11:32:44 -04:00
tools add cubic red option to pathops tool 2014-07-29 12:13:28 -07:00
trybots_to_run/chrome Deleting the hardcoded list of compile bots in trybots_to_run. 2013-04-09 11:59:42 +00:00
.gitignore Add common/ to .gitignore 2014-06-20 07:47:36 -07:00
AUTHORS Do not export SkTDArray when building Skia as a DLL 2014-07-09 11:13:55 -07:00
codereview.settings Add Project to skia 2014-06-20 09:39:15 -07:00
CONTRIBUTING Add CONTRIBUTING file 2014-01-13 15:06:26 +00:00
CQ_COMMITTERS Add sugoi@ to CQ_COMMITTERS. 2014-06-16 08:54:57 -07:00
DEPS roll common DEPS 2014-07-24 10:39:01 -07:00
Doxyfile delete no-longer-used update-doxygen.sh 2014-05-15 14:41:00 +00:00
gyp_skia Fix Windows bots 2014-06-16 13:41:25 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.bat Enable compiling with automatically-downloaded VS toolchain on Windows bots 2014-06-16 10:02:42 -04:00
make.py Enable compiling with automatically-downloaded VS toolchain on Windows bots 2014-06-16 10:02:42 -04:00
Makefile simplify tools/xsan_build now that make runs ninja 2014-04-24 18:16:13 +00:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Adding djsollen to list of owners 2014-07-18 05:25:57 -07:00
README Point to skiadocs in our README. 2014-05-09 04:30:09 +00:00
README.chromium add root files from chrome 2013-08-13 19:11:15 +00:00
skia.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
SKP_VERSION Update SKP version to 63 2014-07-29 22:57:43 -07:00
whitespace.txt Whitespace change to test the CQ. 2014-07-30 07:24:17 -07:00

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

See full details, and build instructions, at https://sites.google.com/site/skiadocs/home