Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Side by Side Diff: resources/slides_content2.lua

Issue 686853005: update slides (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « resources/slides.lua ('k') | resources/slides_transitions.lua » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Skia Update 1 Skia Update
2 2
3 Skia : Access
4 - code.google.com/p/skia
5 - sites.google.com/site/skiadocs
6
3 Skia : Overview 7 Skia : Overview
4 - portable 2D graphics engine 8 - portable graphics engine
5 - src : geometry, images, text 9 - 2D transformations + perspective
6 - attr: shaders, filters, antialiasing, blending 10 - primitives: text, geometry, images
7 - dst : raster, gpu, pdf, picture 11 - effects: shaders, filters, antialiasing, blending
8 12
9 Skia : Porting 13 Skia : Porting
10 - C++ and some SIMD assembly 14 - C++ and some SIMD assembly
11 - Fonts : CoreText, FreeType, GDI, DirectWrite 15 - Fonts : CoreText, FreeType, GDI, DirectWrite
12 - Threads : wrappers for native apis 16 - Threads : wrappers for native apis
13 - Memory : wrappers for [new, malloc, discardable] 17 - Memory : wrappers for [new, malloc, discardable]
14 18
19 Skia : Backends
20 - Surface
21 -- raster : ARGB, RGB16, A8 in software
22 -- gpu : transcribe to OpenGL
23 - Document
24 -- transcribe to PDF or XPS
25 - Record and Playback
26 -- Picture
27 -- Pipe
28
15 Skia : Clients 29 Skia : Clients
16 - Blink : under the GraphicsContext hood 30 - Blink : under the GraphicsContext hood
17 - Chrome : ui/gfx and compositor 31 - Chrome : ui/gfx and compositor
18 - Android framework 32 - Android : framework
19 - third parties : e.g. Mozilla 33 - third parties : e.g. Mozilla
20 - sites.google.com/site/skiadocs
21 34
22 Skia In Blink 35 Skia In Blink
23 36
24 Skia In Blink : Fonts 37 Skia In Blink : Fonts
25 - SkTypeface and SkFontMgr : platform agnostic 38 - SkTypeface and SkFontMgr : platform agnostic
26 - Runtime switch between GDI and DirectWrite 39 - Runtime switch between GDI and DirectWrite
27 - SkTextBlob to encapsulate runs of text 40 - SkTextBlob to encapsulate runs of text
28 - Push LCD decision-making out of Blink 41 - Push LCD decision-making out of Blink
29 42
30 Skia In Blink : Record-Time-Rasterization 43 Skia In Blink : Record-Time-Rasterization
31 - Direct rendering during “Paint” pass 44 - What? : direct rendering during “Paint” pass
32 -- Image scaling, filters 45 -- Image scaling, filters
33 -- SVG patterns, masks 46 -- SVG patterns, masks
34 - Problematic in modern Blink 47 - Problematic in modern Blink
35 -- CTM not always known/knowable 48 -- CTM not always known/knowable
36 -- Rendering backend not always known (gpu or cpu) 49 -- Rendering backend not always known (gpu or cpu)
37 -- Rasterization takes (too much) time 50 -- Rasterization takes (too much) time
38 51
39 Skia In Blink : RTR response 52 Skia In Blink : RTR response
40 - SkImageFilter w/ CPU and GPU implementations 53 - SkImageFilter w/ CPU and GPU implementations
41 - FilterLevel : none, low, medium (mipmaps), high 54 - Bitmap scaling : bilerp, mipmaps, fancy
42 - SkPicture for caching SVG 55 - SkPicture for caching SVG
43 - SkPicture + saveLayer() for masks 56 - SkPicture + saveLayer() for masks
44 -- PathOps for resolving complex paths 57 -- PathOps for resolving complex paths
45 - SkPictureShader for device-independent patterns 58 - SkPictureShader for device-independent patterns
46 59
47 Skia In Blink : Recording 60 Skia In Blink : Recording
48 - GraphicsContext usuaually backed by SkPicture 61 - GraphicsContext (now) backed by SkPicture
49 -- draw commands are recorded for later playback 62 -- draw commands are recorded for later playback
50 -- all parameters must be copied or (safely) ref'd 63 -- all parameters must be copied or (safely) ref'd
51 -- may record more than is currently visible 64 -- may record more than is currently visible
52 - Resulting picture may be replayed multiple times 65 - Resulting picture may be replayed multiple times
66 -- from different thread(s)
53 67
54 Skia In Blink : Recording response 68 Skia In Blink : Recording response
55 - New implementation 69 - New implementation
56 - Optimized for recording speed 70 - Optimized for recording speed
57 -- shallow copies whenever possible 71 -- shallow copies whenever possible
58 -- rearchitect all Skia effects to be immutable 72 -- rearchitect all Skia effects to be immutable
59 - Reentrant-safe for playback in multiple threads 73 - Reentrant-safe for playback in multiple threads
60 -- also affected effect subclasses 74 -- also affected effect subclasses
61 75
62 Skia In Blink : Playback 76 Skia In Blink : Playback
63 - Separate pass for optimizations (optional) 77 - Separate pass for optimizations (optional)
64 -- peep-holes rewrites 78 -- peep-holes rewrites
65 -- compute bounding-box hierarchy for faster tiling 79 -- compute bounding-box hierarchy for faster tiling
66 -- can be done outside of Blink thread 80 -- can be done outside of Blink thread
67 - GPU optimizations 81 - GPU optimizations
68 -- layer "hoisting" 82 -- layer "hoisting"
69 -- distance field fonts 83 -- distance fields : fonts and concave paths
84
85 Skia In Blink : multi-picture-draw
86 - mpd(canvas[], picture[], matrix[], paint[])
87 - Requires independent canvas objects
88 -- all other parameters can be shared
89 -- draw order is unspecified
90 - Examples
91 -- 1 picture drawing to multiple tiles (canvases)
92 -- multiple pictures each drawing to its own layer
93
94 Skia In Blink : MPD optimizations*
95 - GPU
96 -- "layer hoisting" to reduce rendertarget switching
97 -- layer atlasing (also applies to imagefilters)
98 -- pre-uploading of textures
99 -- atlas yuv (from jpeg) to convert on gpu
100 - CPU
101 -- parallel execution using thread pool
102 -- pre-decoding of images based on visibility
70 103
71 Skia : Roadmap 104 Skia : Roadmap
72 105
73 Skia In Blink : Roadmap 106 Skia : Roadmap - performance
74 - GPU performance 107 - GPU
75 -- extended OpenGL features (e.g. geometry shaders) 108 -- extended OpenGL features (e.g. geometry shaders)
76 -- reordering for increased batching 109 -- reordering for increased batching
77 -- support for new low-level OpenGL APIs 110 -- support for new low-level OpenGL APIs
111 - CPU
112 -- SIMD applied to floats
113 -- smarter culling in pictures
114
115 Skia : Roadmap - API
78 - Cross process support 116 - Cross process support
79 -- immediate mode ala SkGPipe
80 -- serialize pictures
81
82 Skia API Roadmap
83 - Direct support for sRGB 117 - Direct support for sRGB
84 - Stable C API / ABI 118 - Robust file format
119 - Support PDF viewing
120 - Stable C ABI
85 -- bindings for JS, Go, Python, Lua 121 -- bindings for JS, Go, Python, Lua
86 - Robust file format
87 122
88 Demo 123 Demo
89
OLDNEW
« no previous file with comments | « resources/slides.lua ('k') | resources/slides_transitions.lua » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698