Currently, when dealing with certain types of image drawing (background images), Blink creates an SkShader which wraps the image together with tiling information. This SkShader is then drawn using drawRect.
Unfortunately, when wrapped in an SkShader, CC can't see the images used in the drawing, and can't pre-decode them. This prevents most of the image decode optimizations from being applied to images in these cases.
Ideally, Blink would use a less opaque method (Displaylist entry?) to represent these tiled images. CC could then pre-decode the images and generate the Skia commands to render itself.
Comment 1 by chrishtr@chromium.org
, Mar 23 2016