skia2/include
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
..
android Move SkBitmapRegionDecoder to include/android and src/android 2015-11-13 06:11:09 -08:00
animator Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
c Documentation: C API comments 2015-09-01 10:45:09 -07:00
client/android Move SkPixelXorXfermode.h to include/client/android 2016-02-01 04:54:15 -08:00
codec Add RAW decoding into Skia. 2016-01-25 08:26:16 -08:00
config Consolidate SK_CRASH and sk_throw into SK_ABORT 2016-01-29 08:51:04 -08:00
core Replace the id<-->key hashmap in SkImageFilter by a SkTArray 2016-02-01 05:27:16 -08:00
device/xps CMake, include/: changes to make fiddle 2.0 better 2015-12-01 09:02:49 -08:00
effects Move SkPixelXorXfermode.h to include/client/android 2016-02-01 04:54:15 -08:00
gpu added support for PLS path rendering 2016-01-30 09:59:10 -08:00
images remove SkInstCnt 2015-06-26 11:45:03 -07:00
pathops Revert of Revert of remove SK_SUPPORT_LEGACY_PATHOP_ENUMS (patchset #1 id:1 of https://codereview.chromium.org/1203983003/) 2015-06-26 10:23:07 -07:00
ports Expose API for gx font variation axes. 2016-01-21 14:17:47 -08:00
private de-proc sk_float_rsqrt 2016-01-26 07:40:30 -08:00
svg move SkTDict and SkTSearch into private 2016-01-03 18:36:05 -08:00
utils SK_SUPPORT_LEGACY_DRAWFLTER typo 2016-01-25 06:23:54 -08:00
views SampleApp: Remove SkWindow::setColorType 2016-01-18 01:18:35 -08:00
xml Move SkTemplates.h to private. 2015-08-19 11:56:48 -07:00