skia2/samplecode
Julia Lavrova b7b0b3ad53 Paragraph cache: caching the shaped results only.
That makes layout phase 10 times faster (since the shaping takes 90% of it).

LRU cache is attached to the FontCollection object and has the same life time.
Currently it has hardcoded limit on the entry numbers (128).
One the number reached, the least recently used element is removed from the cache
to free the space for a new one.

Change-Id: I597e334422614e33715d7a9ed13acf7b1f9cd0e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230755
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2019-08-09 16:51:41 +00:00
..
DecodeFile.h Sample/Filter2View: make it work without /skimages 2019-07-08 17:05:23 +00:00
PerlinPatch.cpp experimental/editor: mouse drag select, modifierkeys cleanup. 2019-08-08 02:33:44 +00:00
Sample2PtRadial.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
Sample.cpp Samle:🐭 fix wrong assert 2019-07-16 14:12:36 +00:00
Sample.h [reland] SkMetaData: move from src/ to tools/ 2019-07-17 13:14:38 +00:00
SampleAAClip.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleAAGeometry.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SampleAARectModes.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleAARects.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleAndroidShadows.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleAnimatedImage.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleAnimatedText.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleAnimBlur.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleArc.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleAtlas.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleBitmapRect.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleCamera.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleCCPRGeometry.cpp ccpr: Add an MSAA atlas mode 2019-07-19 20:52:17 +00:00
SampleChart.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleChineseFling.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleCircle.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleClip.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleClipDrawMatch.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleClock.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleColorFilter.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleComplexClip.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleCowboy.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleCusp.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleDegenerateQuads.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SampleDegenerateTwoPtRadials.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleEffects.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleEmboss.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleFatBits.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SampleFillType.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleFilter2.cpp Sample/Filter2View: make it work without /skimages 2019-07-08 17:05:23 +00:00
SampleFilterQuality.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleFlutterAnimate.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleFontCache.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleGlyphTransform.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleGradients.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleHairCurves.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleHairline.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleHairModes.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleHT.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleIdentityScale.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleImageFilterDAG.cpp Move SkImageFilter functionality into private SkImageFilter_Base 2019-08-02 18:56:39 +00:00
SampleLayerMask.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleLayers.cpp Update docs and samplecode to use new image filter factories 2019-08-02 14:47:35 +00:00
SampleLCD.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleLighting.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleLitAtlas.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleLua.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SampleManyRects.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleMegaStroke.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleMixer.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SampleParagraph.cpp Paragraph cache: caching the shaped results only. 2019-08-09 16:51:41 +00:00
SamplePatch.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SamplePath.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SamplePathClip.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SamplePathEffects.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SamplePathOverstroke.cpp Samples: simplify Sample::Event 2019-07-08 19:09:42 +00:00
SamplePathText.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SamplePolyToPoly.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleQuadStroker.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SampleRectanizer.cpp Samples: simplify Sample::Event 2019-07-08 19:09:42 +00:00
SampleRegion.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SampleRepeatTile.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleSG.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SampleShaders.cpp re-run tools/rewrite_includes.py 2019-07-25 15:40:33 +00:00
SampleShadowColor.cpp Samples: simplify Sample::Event 2019-07-08 19:09:42 +00:00
SampleShadowReference.cpp Samples: simplify Sample::Event 2019-07-08 19:09:42 +00:00
SampleShadowUtils.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleShip.cpp Remove WallTimer class. 2019-07-15 16:06:11 +00:00
SampleSlides.cpp ModifierKey unifies sk_app::Window::ModifierKey & Sample::Click::ModifierKey 2019-07-09 16:16:41 +00:00
SampleStringArt.cpp ModifierKey unifies sk_app::Window::ModifierKey & Sample::Click::ModifierKey 2019-07-09 16:16:41 +00:00
SampleStrokePath.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleStrokeRect.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleSubpixelTranslate.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleSVGFile.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleTextBox.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleTextEffects.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleTextureDomain.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleTextureUpload.cpp Add adjustable max size for Metal dynamic allocation ring buffer. 2019-08-07 15:59:42 +00:00
SampleThinAA.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleUnpremul.cpp remove code now that loopers are dead (w.r.t. canvas and paint) 2019-07-30 12:49:28 +00:00
SampleVertices.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SampleWritePixels.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleXfer.cpp Sample not RefCnted; ClickHandling moved out of viewer 2019-07-15 17:59:15 +00:00
SampleXfermodesBlur.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
vertexdump.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00