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

Unified 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « resources/slides.lua ('k') | resources/slides_transitions.lua » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: resources/slides_content2.lua
diff --git a/resources/slides_content2.lua b/resources/slides_content2.lua
index 19d7203812c4090cbcbfd9301232a6eb8f48fe38..3b4eb094453ff4932450a7aa0198d4089ad3a413 100644
--- a/resources/slides_content2.lua
+++ b/resources/slides_content2.lua
@@ -1,10 +1,14 @@
Skia Update
+Skia : Access
+- code.google.com/p/skia
+- sites.google.com/site/skiadocs
+
Skia : Overview
-- portable 2D graphics engine
-- src : geometry, images, text
-- attr: shaders, filters, antialiasing, blending
-- dst : raster, gpu, pdf, picture
+- portable graphics engine
+- 2D transformations + perspective
+- primitives: text, geometry, images
+- effects: shaders, filters, antialiasing, blending
Skia : Porting
- C++ and some SIMD assembly
@@ -12,12 +16,21 @@ Skia : Porting
- Threads : wrappers for native apis
- Memory : wrappers for [new, malloc, discardable]
+Skia : Backends
+- Surface
+-- raster : ARGB, RGB16, A8 in software
+-- gpu : transcribe to OpenGL
+- Document
+-- transcribe to PDF or XPS
+- Record and Playback
+-- Picture
+-- Pipe
+
Skia : Clients
- Blink : under the GraphicsContext hood
- Chrome : ui/gfx and compositor
-- Android framework
+- Android : framework
- third parties : e.g. Mozilla
-- sites.google.com/site/skiadocs
Skia In Blink
@@ -28,7 +41,7 @@ Skia In Blink : Fonts
- Push LCD decision-making out of Blink
Skia In Blink : Record-Time-Rasterization
-- Direct rendering during “Paint” pass
+- What? : direct rendering during “Paint” pass
-- Image scaling, filters
-- SVG patterns, masks
- Problematic in modern Blink
@@ -38,18 +51,19 @@ Skia In Blink : Record-Time-Rasterization
Skia In Blink : RTR response
- SkImageFilter w/ CPU and GPU implementations
-- FilterLevel : none, low, medium (mipmaps), high
+- Bitmap scaling : bilerp, mipmaps, fancy
- SkPicture for caching SVG
- SkPicture + saveLayer() for masks
-- PathOps for resolving complex paths
- SkPictureShader for device-independent patterns
Skia In Blink : Recording
-- GraphicsContext usuaually backed by SkPicture
+- GraphicsContext (now) backed by SkPicture
-- draw commands are recorded for later playback
-- all parameters must be copied or (safely) ref'd
-- may record more than is currently visible
- Resulting picture may be replayed multiple times
+-- from different thread(s)
Skia In Blink : Recording response
- New implementation
@@ -66,24 +80,44 @@ Skia In Blink : Playback
-- can be done outside of Blink thread
- GPU optimizations
-- layer "hoisting"
--- distance field fonts
+-- distance fields : fonts and concave paths
+
+Skia In Blink : multi-picture-draw
+- mpd(canvas[], picture[], matrix[], paint[])
+- Requires independent canvas objects
+-- all other parameters can be shared
+-- draw order is unspecified
+- Examples
+-- 1 picture drawing to multiple tiles (canvases)
+-- multiple pictures each drawing to its own layer
+
+Skia In Blink : MPD optimizations*
+- GPU
+-- "layer hoisting" to reduce rendertarget switching
+-- layer atlasing (also applies to imagefilters)
+-- pre-uploading of textures
+-- atlas yuv (from jpeg) to convert on gpu
+- CPU
+-- parallel execution using thread pool
+-- pre-decoding of images based on visibility
Skia : Roadmap
-Skia In Blink : Roadmap
-- GPU performance
+Skia : Roadmap - performance
+- GPU
-- extended OpenGL features (e.g. geometry shaders)
-- reordering for increased batching
-- support for new low-level OpenGL APIs
-- Cross process support
--- immediate mode ala SkGPipe
--- serialize pictures
+- CPU
+-- SIMD applied to floats
+-- smarter culling in pictures
-Skia API Roadmap
+Skia : Roadmap - API
+- Cross process support
- Direct support for sRGB
-- Stable C API / ABI
--- bindings for JS, Go, Python, Lua
- Robust file format
+- Support PDF viewing
+- Stable C ABI
+-- bindings for JS, Go, Python, Lua
Demo
-
« 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