Go to file
xidachen 2352696313 Replace the id<-->key hashmap in SkImageFilter by a SkTArray
In the current implementation, SkImageFilter::Cache maintains a hash map
that maps SkImageFilter's uniqueID to an array of keys, and its purpose
is to remove the values in Cache that are associated with this array of
keys that are indexed by uniqueID. However, maintaining this hash map
causes perf regression to smoothness.tough_filters_cases.

This CL removes the id<-->key hashmap. Instead, we maintain an array of
keys in SkImageFilter. Whenever there is a new key, we push it into the
array. In ~SkImageFilter(), we call Cache::purgeByKeys to remove all the
values that are associated with the keys that are maintained by SkImageFilter.

BUG=571655
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1651433002

Review URL: https://codereview.chromium.org/1651433002
2016-02-01 05:27:16 -08:00
animations
bench SkNx Load/store: take any pointer. 2016-01-31 08:02:47 -08:00
bin bin/sync-and-gyp: sh->py (make more cross-platform) 2015-11-09 08:28:13 -08:00
cmake Fix CMake build on Mac. 2016-01-21 17:38:36 -05:00
debugger Add gpu implementation of OverdrawXfermode 2016-01-27 05:00:04 -08:00
dm Revert of Treat bad values passed to --images as a fatal error (patchset #17 id:320001 of https://codereview.chromium.org/1611323004/ ) 2016-01-29 14:41:55 -08:00
example SampleApp: Remove SkWindow::setColorType 2016-01-18 01:18:35 -08:00
experimental SampleApp: Remove SkWindow::setColorType 2016-01-18 01:18:35 -08:00
fuzz Make fuzz output the words success for a 'clean exit' 2016-01-27 11:34:36 -08:00
gm float components in xfermodes 2016-01-30 18:52:31 -08:00
gyp Move SkPixelXorXfermode.h to include/client/android 2016-02-01 04:54:15 -08:00
include Replace the id<-->key hashmap in SkImageFilter by a SkTArray 2016-02-01 05:27:16 -08:00
infra Add Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release to the CQ 2016-01-06 10:54:50 -08:00
platform_tools SampleApp: remove SkWindow::onPDFSaved, it does not work 2016-01-18 00:47:14 -08:00
resources Add RAW decoding into Skia. 2016-01-25 08:26:16 -08:00
samplecode add new tests 2016-01-30 10:11:21 -08:00
site Fix typo on trooper page. 2016-01-28 12:58:02 -08:00
src Replace the id<-->key hashmap in SkImageFilter by a SkTArray 2016-02-01 05:27:16 -08:00
tests Add SkImage factory method that forces image to be resolved to a texture. 2016-01-30 10:01:40 -08:00
third_party sketch hooking into PNG_FILTER_OPTIMIZATIONS 2016-01-27 13:01:41 -08:00
tools Revert of Treat bad values passed to --images as a fatal error (patchset #17 id:320001 of https://codereview.chromium.org/1611323004/ ) 2016-01-29 14:41:55 -08:00
.gitignore android/apps: Add CanvasProof App; 2015-09-23 12:40:34 -07:00
AUTHORS use malloc/calloc/free instead of moz_malloc/moz_calloc/moz_free in ports/SkMemory_mozalloc.cpp 2015-11-23 10:30:14 -08:00
codereview.settings Automatically add a docs preview link and NOTRY=true when there are only docs changes. 2015-02-26 10:16:13 -08: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 Enable RAW codec for Windows 2016-01-27 08:25:53 -08:00
Doxyfile Documentation: SkCanvas API 2015-05-19 10:21:29 -07:00
gyp_skia Support SKIA_OUT on Mac and ChromeOS 2015-05-04 08:04:28 -07:00
gyp_skia.py
LICENSE Include resources directory in google3 sync. 2015-10-20 13:00:48 -07:00
make.bat Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
make.py GYP: remove stale skia_scalar gyp variable 2015-11-10 13:25:12 -05:00
Makefile Add visualbench as valid target to Makefile 2015-12-18 08:05:06 -08:00
OWNERS
PRESUBMIT.py Add link to Gold trybot runs in every uploaded Skia CL 2015-12-15 06:23:33 -08:00
public.bzl Move SkPixelXorXfermode.h to include/client/android 2016-02-01 04:54:15 -08: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
SK_IMAGE_VERSION Revert of Update SK_IMAGE_VERSION to test RAW (patchset #1 id:1 of https://codereview.chromium.org/1612113002/ ) 2016-01-29 14:32:32 -08:00
skia.gyp Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
SKP_VERSION Update SKP version 2016-01-31 00:30:55 -08:00
whitespace.txt Whitespace change to test SK_IMAGE_VERSION download 2016-01-25 05:00:13 -08:00

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

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