Go to file
junov@chromium.org eeaf47f638 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
2012-09-20 20:42:44 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Adding a silent playback option to SkGPipeRead 2012-09-20 19:35:43 +00:00
debugger Got debugger compiling again after SkCanvas API change 2012-09-20 19:09:17 +00:00
experimental Adding a silent playback option to SkGPipeRead 2012-09-20 19:35:43 +00:00
forth Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:09:54 +00:00
gm Implements a matrix convolution filter (raster path only). The filtering loop 2012-09-18 20:32:34 +00:00
gyp Fix premul alpha problems w/matrix convolution filter, and re-enable the bench. 2012-09-20 17:59:49 +00:00
include Adding a silent playback option to SkGPipeRead 2012-09-20 19:35:43 +00:00
samplecode Add a header for OverView.cpp as well. 2012-09-18 01:52:20 +00:00
src Fixing how deferred canvas purges itself when a clear is recoreded. 2012-09-20 20:42:44 +00:00
tests Adding a silent playback option to SkGPipeRead 2012-09-20 19:35:43 +00:00
third_party Add BSON implementation to third_party 2012-06-13 18:22:09 +00:00
tools Remove automatic resizing in *_pictures 2012-09-20 18:54:04 +00:00
trybots_to_run Added cros_daisy to build bots list 2012-08-27 17:57:58 +00:00
.gitignore Keep the entries in .gitignore sorted in alphabetical order. 2012-09-13 15:26:51 +00:00
DEPS Revert r5520 2012-09-13 14:53:15 +00:00
Doxyfile Pointing to http://skia-autogen.googlecode.com/svn/docs/html/index.html in Doxyfile 2012-07-03 11:35:07 +00:00
gyp_skia gyp_skia: Fix module search path. 2012-07-30 16:48:13 +00:00
LICENSE Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.bat Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.py Make "make gyp" work on Windows 2012-03-23 18:14:25 +00:00
Makefile Enable Compile Option to Build Android Executables 2012-07-18 14:59:54 +00:00
Makefile.old Higher resolution timers for bench. 2011-06-07 19:16:02 +00:00
README whitespace commit to trigger buildbot 2011-07-15 14:11:58 +00:00
skia.gyp Enable Compile Option to Build Android Executables 2012-07-18 14:59:54 +00:00
whitespace.txt Whitespace change to trigger a rebuild after removing bad bench data from r5592 2012-09-19 12:32:06 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at http://code.google.com/p/skia/wiki/DocRoot