Go to file
commit-bot@chromium.org 19382421b9 Convert SkWriter32 to use an SkTDArray for its internal storage.
This reduces the allocation overhead of a null picture (create, beginRecording(), endRecording) from about 18K to about 1.9K.  (There's still lots more to prune.)

SkPictureFlat can exploit the fact that Writer32 is contiguous simplify its memory management.  The Writer32 itself becomes the scratch buffer.

Remove lots and lots of arbitrary magic numbers that were size guesses and minimum allocation sizes.  Keep your eyes open for the big obvious DUH why we save 16K per picture!  (Spoiler alert.  It's because that first save we issue in beginRecording() forces the old SkWriter32 to allocate 16K.)

Tests passing, DM passing.

bench --match writer: ~20% faster
null bench_record: ~30% faster
bench_record on buildbot .skps: ~3-6% slower, ranging 25% faster to 20% slower
bench_pictures on buildbot .skps: ~1-2% faster, ranging 13% faster to 28% slower

BUG=skia:1850
R=reed@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/137433003

git-svn-id: http://skia.googlecode.com/svn/trunk@13073 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 20:51:26 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Convert SkWriter32 to use an SkTDArray for its internal storage. 2014-01-14 20:51:26 +00:00
debugger deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients 2013-12-17 19:22:07 +00:00
dm Add 565 to dm defaults. 2014-01-09 19:14:57 +00:00
expectations Rebaseline bleed and simpleblurroundrect due to GPU blur changes. Also, misc blur GMs on N4. 2014-01-14 18:20:49 +00:00
experimental Add handling alpha values in RRGGBBAA formatted styles. 2014-01-13 18:28:21 +00:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm Make leak counters thread-safe and turn them on by default for Debug 2014-01-14 18:42:26 +00:00
gyp Default Mac to 64-bit. 2014-01-14 20:49:26 +00:00
include Convert SkWriter32 to use an SkTDArray for its internal storage. 2014-01-14 20:51:26 +00:00
platform_tools Remove references to Skia's SVN repository 2014-01-09 21:41:39 +00:00
resources Add a simple test ttc for FontHost test. 2014-01-10 20:56:21 +00:00
samplecode remove remaining references to Sk64 (obsolete) 2014-01-13 14:53:55 +00:00
src Convert SkWriter32 to use an SkTDArray for its internal storage. 2014-01-14 20:51:26 +00:00
tests Convert SkWriter32 to use an SkTDArray for its internal storage. 2014-01-14 20:51:26 +00:00
third_party Fix Mac fontconfig build (try 2) 2014-01-09 22:54:26 +00:00
tools submit_try: Obtain the list of trybots from the checked-in slaves.cfg 2014-01-14 19:18:45 +00:00
trybots_to_run/chrome Deleting the hardcoded list of compile bots in trybots_to_run. 2013-04-09 11:59:42 +00:00
.gitignore Add a canvas object with drawRect() and inval(). 2013-12-10 14:13:03 +00:00
codereview.settings Removing blank lines from codereview.settings. 2013-02-26 16:01:21 +00:00
CONTRIBUTING Add CONTRIBUTING file 2014-01-13 15:06:26 +00:00
DEPS Move v8 into third_party. 2014-01-08 15:14:09 +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 Fix ninja build on Android 2013-10-01 15:31:54 +00:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.bat Make make.bat and gyp_skia work with VS 2012. 2013-05-07 19:31:20 +00:00
make.py Use SKIA_OUT variable in make.py 2013-07-23 15:45:50 +00:00
Makefile pathops work in progress 2013-11-01 17:36:03 +00:00
Makefile.old Replace GR_*_BUILD by their SK_BUILD_FOR_* equivalents. 2013-09-25 20:57:51 +00:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py If any change is made to the public API then make sure there is an LGTM from an owner. 2013-08-12 14:51:20 +00:00
README whitespace commit to trigger buildbot 2011-07-15 14:11:58 +00:00
README.chromium add root files from chrome 2013-08-13 19:11:15 +00:00
skia.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
whitespace.txt Buildbot SKPs have been recreated. Triggering rebuilds. 2014-01-08 19:21:23 +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