aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/gammatext.cpp
diff options
context:
space:
mode:
authorGravatar junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-09-20 20:42:44 +0000
committerGravatar junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-09-20 20:42:44 +0000
commiteeaf47f638dbab2cbe3306e099d93dc6244b25a5 (patch)
tree30fd3b8d74e2e4d0293fa3cfcc2f26d8d0cb0b23 /gm/gammatext.cpp
parentfb10389403cf1cc771e103016207fde84c5f4825 (diff)
Fixing how deferred canvas purges itself when a clear is recoreded.
This fixes performance because the old code was not reconstructing the clip state correctly. This was causing a major performance degradation in the Galactic IE testdrive demo. This fix also enbles the purge on clear optimization when there is saved state on the matrix/clip stack. The approach taken to solve the problem consists in purging by running the playback silently. The previous approach was tearing down and restarting the gpipe, which required reconstructing state, which is fragile and hard to do correctly, and has the side effect of clearing the bitmap heap and the flattened dictionary. Note: This CL is expected to slightly degrade performance of the deferred_canvas_record bench, which uses the skip on clear optimization. This is because a silent playback takes more time that just destroying the SkGPipe. Correctness trumps performance. BUG=http://code.google.com/p/chromium/issues/detail?id=146178 Review URL: https://codereview.appspot.com/6531048 git-svn-id: http://skia.googlecode.com/svn/trunk@5627 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm/gammatext.cpp')
0 files changed, 0 insertions, 0 deletions