-
Notifications
You must be signed in to change notification settings - Fork 6k
Defer decisions about RasterCache actions until after Preroll is complete #31892
Changes from 1 commit
9f44aad
bb6a4cc
51ae333
bb86e3a
98b4ad6
2a0fbc3
9a71e09
0f60777
d53733e
4600cd6
7626d11
d88aff2
45b28cf
57a8d16
e4eb2a0
7e5af26
879ee10
2c038e9
829e9f4
91cf4e9
ba5694e
45448d4
dc089ad
2f1eb2f
473288b
a80a037
fd82489
d3883c6
3e1ed6c
a25e920
fd3bc8e
cdc123d
d8d373a
9e0e52b
9b68847
7c7fc4c
91f7278
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -217,12 +217,17 @@ class RasterCache { | |
| // used for this frame in order to not get evicted. This is needed during | ||
| // partial repaint for layers that are outside of current clip and are culled | ||
| // away. | ||
| void Touch(SkPicture* picture, const SkMatrix& transformation_matrix); | ||
| void Touch(DisplayList* display_list, const SkMatrix& transformation_matrix); | ||
| void Touch(SkPicture* picture, | ||
| const SkMatrix& transformation_matrix, | ||
| bool parent_cached = false); | ||
| void Touch(DisplayList* display_list, | ||
| const SkMatrix& transformation_matrix, | ||
| bool parent_cached = false); | ||
| void Touch( | ||
| Layer* layer, | ||
| const SkMatrix& ctm, | ||
| RasterCacheLayerStrategy strategey = RasterCacheLayerStrategy::kLayer); | ||
| RasterCacheLayerStrategy strategey = RasterCacheLayerStrategy::kLayer, | ||
| bool parent_cached = false); | ||
|
|
||
| bool Prepare( | ||
| PrerollContext* context, | ||
|
|
@@ -342,10 +347,13 @@ class RasterCache { | |
| struct Entry { | ||
| bool used_this_frame = false; | ||
| size_t access_count = 0; | ||
| // if this entry's parent has cached, we will remove this entry after the | ||
|
||
| // survive_frame_count. | ||
| unsigned survive_frame_count = 3; | ||
| std::unique_ptr<RasterCacheResult> image; | ||
| }; | ||
|
|
||
| void Touch(const RasterCacheKey& cache_key); | ||
| void Touch(const RasterCacheKey& cache_key, bool parent_cached = false); | ||
|
|
||
| bool Draw(const RasterCacheKey& cache_key, | ||
| SkCanvas& canvas, | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.