~/talk

Drawn out: How Android renders

Talkat Google I/O 2018 · 2018-05-08..05-10· [web-performance, android]
slides:none on file

Choreographer fires at ~60Hz and the UI thread handles input, animations, measure/layout and draw, producing a DisplayList which is synced to a native render thread (introduced in Lollipop) that turns it into DLOps, applies reordering/batching and uses the damage rect to avoid work (this once saved ~1ms of GPU time, important inside a 16ms frame). Window composition uses a buffer queue (producer/consumer) and SurfaceFlinger asks the Hardware Composer which layers can be overlays versus need GPU compositing; prefer SurfaceView over TextureView when possible.

AI-written summary · about

  1. 0:00Intro
  2. 2:40Render thread
  3. 3:34Example
  4. 4:58Invalidation
  5. 8:43Syncing information
  6. 11:13DLOps
  7. 14:28Clip Reject
  8. 20:57Surface compositor
  9. 24:04Surface API
  10. 24:55Surface Texture
  11. 26:50Producers
  12. 28:16Hardware Composer
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.