Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(573)

Issue 753253002: Use variable length key (rather than accumulated matrix) as save layer hoisting key (Closed)

Created:
6 years ago by robertphillips
Modified:
6 years ago
Reviewers:
bsalomon
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Project:
skia
Visibility:
Public.

Description

Use variable length key (rather than accumulated matrix) as save layer hoisting key Adding the rendering canvas' CTM to the layer hoisting key (i.e., Add support for hoisting layers in pictures drawn with a matrix - https://codereview.chromium.org/748853002/) has increased the cache miss rate due to accumulated floating point error. This CL fixes part of the issue by using the chain of operation indices leading to each saveLayer as the key. The canvas' CTM must still form part of the key but should be less subject to accumulated error. BUG=skia:2315 Committed: https://skia.googlesource.com/skia/+/01d6e5f462d1d52203ee1a6660415877e4cf2dde

Patch Set 1 #

Patch Set 2 : update #

Patch Set 3 : Compiling #

Total comments: 2

Patch Set 4 : git #

Patch Set 5 : git #

Patch Set 6 : update to ToT #

Patch Set 7 : Fix building #

Patch Set 8 : update to ToT (again) #

Patch Set 9 : update #

Patch Set 10 : update #

Patch Set 11 : update #

Patch Set 12 : upload #

Patch Set 13 : update #

Patch Set 14 : clean up #

Patch Set 15 : more cleanup #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+275 lines, -140 lines) Patch
M expectations/gm/ignored-tests.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -1 line 0 comments Download
M src/core/SkLayerInfo.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +7 lines, -2 lines 0 comments Download
M src/core/SkMultiPictureDraw.cpp View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
M src/core/SkRecordDraw.cpp View 1 2 3 4 5 6 7 8 9 10 4 chunks +20 lines, -2 lines 0 comments Download
M src/gpu/GrLayerCache.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 6 chunks +75 lines, -38 lines 2 comments Download
M src/gpu/GrLayerCache.cpp View 1 2 3 4 5 6 7 8 9 10 3 chunks +19 lines, -13 lines 0 comments Download
M src/gpu/GrLayerHoister.h View 1 2 3 4 5 6 7 8 9 2 chunks +5 lines, -2 lines 0 comments Download
M src/gpu/GrLayerHoister.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +12 lines, -15 lines 0 comments Download
M src/gpu/GrRecordReplaceDraw.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +53 lines, -32 lines 0 comments Download
M src/gpu/GrRecordReplaceDraw.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 8 chunks +45 lines, -15 lines 0 comments Download
M src/gpu/SkGpuDevice.cpp View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
M tests/GpuLayerCacheTest.cpp View 1 2 3 4 5 6 7 8 9 10 6 chunks +27 lines, -13 lines 0 comments Download
M tests/PictureTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -1 line 0 comments Download
M tests/RecordReplaceDrawTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -2 lines 0 comments Download

Messages

Total messages: 10 (2 generated)
bsalomon
I found this in my list of incoming CLs... wasn't sure if you were ready ...
6 years ago (2014-11-25 13:52:05 UTC) #2
robertphillips
It's not ready yet.
6 years ago (2014-11-25 14:04:50 UTC) #3
robertphillips
https://codereview.chromium.org/753253002/diff/40001/src/core/SkLayerInfo.h File src/core/SkLayerInfo.h (right): https://codereview.chromium.org/753253002/diff/40001/src/core/SkLayerInfo.h#newcode55 src/core/SkLayerInfo.h:55: int* fKey; SkAutoTArray would work if it had a ...
6 years ago (2014-11-25 16:36:47 UTC) #4
robertphillips
PTAL - finally ready for review.
6 years ago (2014-12-01 16:26:28 UTC) #5
bsalomon
https://codereview.chromium.org/753253002/diff/280001/src/gpu/GrLayerCache.h File src/gpu/GrLayerCache.h (right): https://codereview.chromium.org/753253002/diff/280001/src/gpu/GrLayerCache.h#newcode79 src/gpu/GrLayerCache.h:79: Key(uint32_t pictureID, const SkMatrix& initialMat, Is the not copy ...
6 years ago (2014-12-01 16:40:47 UTC) #6
robertphillips
https://codereview.chromium.org/753253002/diff/280001/src/gpu/GrLayerCache.h File src/gpu/GrLayerCache.h (right): https://codereview.chromium.org/753253002/diff/280001/src/gpu/GrLayerCache.h#newcode79 src/gpu/GrLayerCache.h:79: Key(uint32_t pictureID, const SkMatrix& initialMat, On 2014/12/01 16:40:47, bsalomon ...
6 years ago (2014-12-01 16:59:08 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/753253002/280001
6 years ago (2014-12-01 16:59:30 UTC) #9
commit-bot: I haz the power
6 years ago (2014-12-01 17:09:30 UTC) #10
Message was sent while issue was closed.
Committed patchset #15 (id:280001) as
https://skia.googlesource.com/skia/+/01d6e5f462d1d52203ee1a6660415877e4cf2dde

Powered by Google App Engine
This is Rietveld 408576698