Go to file
edisonn@google.com 676aef05ab Use SkSet to fix issue when pdf generates an exp number of resources.
The problem fixed - http://code.google.com/p/skia/issues/detail?id=940 - is that getResources will recursively obtain all child resource recursively without checking for duplicates.

If we have lots of duplicates, then we try to build a very large vector (exponential with the number of nodes usually) and sooner or later we end up using too much memory and crash.

A possible solution could have been to make sure resources do not have duplicates, but that requirement is impractical, and it this leaves the solution fragile, if there is any issue in the tree,  we crash.

When we emit the pdf, the large number of duplicates is not an issue, because SkPDFCatalog::addObject will deal with duplicates.

I have run the gm with --config pdf, and the images are 100% same bits, while the pdfs have the same size but some very small changes, the order of some objects.
Review URL: https://codereview.appspot.com/6744050

git-svn-id: http://skia.googlecode.com/svn/trunk@7883 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 16:54:44 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Use glGetStringi to get extensions when available. 2013-02-26 21:46:32 +00:00
debugger Remove bogus ability for creating an SkPicturePlayback to fail. 2013-02-25 16:05:00 +00:00
experimental Sanitizing source files in Skia_Periodic_House_Keeping 2013-02-27 07:10:10 +00:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm GM : Unused parameters cleanup 2013-02-27 15:41:12 +00:00
gyp Use SkSet to fix issue when pdf generates an exp number of resources. 2013-02-27 16:54:44 +00:00
include Use SkSet to fix issue when pdf generates an exp number of resources. 2013-02-27 16:54:44 +00:00
samplecode move SampleTypeface into gm/typefacestyles 2013-02-26 16:57:16 +00:00
src Use SkSet to fix issue when pdf generates an exp number of resources. 2013-02-27 16:54:44 +00:00
tests Use SkSet to fix issue when pdf generates an exp number of resources. 2013-02-27 16:54:44 +00:00
third_party Add BSON implementation to third_party 2012-06-13 18:22:09 +00:00
tools Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
trybots_to_run Added cros_daisy to build bots list 2012-08-27 17:57:58 +00:00
.gitignore Add .swp files to gitignore. 2013-02-08 16:59:59 +00:00
codereview.settings Removing blank lines from codereview.settings. 2013-02-26 16:01:21 +00:00
DEPS Update gyp revision. 2013-01-18 21:20:16 +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 Update gyp to allow alternative out directories 2012-11-28 14:11:41 +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 gyp: generate "everything" and "most" targets instead of "all" 2012-10-25 16:32:07 +00:00
Makefile Update gyp to allow alternative out directories 2012-11-28 14:11:41 +00:00
Makefile.old Higher resolution timers for bench. 2011-06-07 19:16:02 +00:00
PRESUBMIT.py Presubmit should check that source files end in atleast one newline 2013-01-25 18:27:34 +00:00
README whitespace commit to trigger buildbot 2011-07-15 14:11:58 +00:00
skia.gyp gyp: generate "everything" and "most" targets instead of "all" 2012-10-25 16:32:07 +00:00
whitespace.txt Whitespace change (SkipBuildbotRuns) 2013-02-27 13:24:35 +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