skia2/include
fmalita 3c196def91 Souped-up SkTextBlob.
Refactored text blob backend for improved performance: instead of using
separate buffers for runs/positions/glyphs, everything is now packed in
a consolidated slab (including the SkTextBlob object itself!).

Benefits:

 * number of allocations per blob construction reduced from ~4 to 1
   (also minimizes internal fragmentation)
 * run record size reduced by 8 bytes

This takes the blob construction overhead down to negligible levels
(for the current Blink uncached textblob implementation).

Unfortunately, the code is much more finicky (run merging in
particular) -- hence the assert spree.

Multi-run blobs are vulnerable to realloc storms but this is not a
problem at the moment because Blink is using one-run blobs 99% of the
time. Will be addressed in the future.

R=mtklein@google.com, reed@google.com, robertphillips@google.com

Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/581173003
2014-09-20 05:40:22 -07:00
..
animator Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
config Add SkBarriers to ports. 2014-05-29 18:24:54 +00:00
core Souped-up SkTextBlob. 2014-09-20 05:40:22 -07:00
device/xps Add testing flag for XPS for deterministic ids. 2014-08-22 15:07:06 -04:00
effects Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
gpu Move IOType to GrGpuRef and rename that to GrIORef. Template GrPendingIORef on IOType. 2014-09-19 11:48:02 -07:00
images Remove SkImageRef and related functionality. 2014-06-04 14:38:48 -04:00
pathops add pathops tight bounds; conform path ops' gyp to unit tests 2014-06-24 07:55:12 -07:00
pdf change gpudevice and pdfdevice to inherit from basedevice 2014-06-27 11:34:19 -07:00
pipe "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
ports Delete the old font management implementation based on SkFontConfigInterface, now that SkFontMgr_Android is live. 2014-08-13 10:41:25 -07:00
record add SK_API to include/record 2014-04-28 21:04:32 +00:00
svg Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
utils Add helper SkMatrix44::hasPerspective() 2014-09-16 08:29:29 -07:00
views use surface in SkView/SampleApp 2014-09-18 11:29:01 -07:00
xml Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00