Jankety Jank
by
Frontend NE
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Jankety Jank
Slide 2
Slide 2 text
0
Slide 3
Slide 3 text
Jank?
Slide 4
Slide 4 text
Aalreet! means hello
Slide 5
Slide 5 text
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
100ms to 10s
Slide 8
Slide 8 text
Frame Budget 1000 / 60 = 16.6ish
Slide 9
Slide 9 text
The Rendering Pipeline Warning - browser internals are around the bend.
Slide 10
Slide 10 text
Renderer Process GPU Process
Slide 11
Slide 11 text
Renderer Process GPU Process Compositor Compositor Worker Thread/s Main Thread GPU Thread
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
Parsing Converting code to various tree structures
Slide 14
Slide 14 text
Tokeniser Parse Tree DOM Script Exe
Slide 15
Slide 15 text
“Scripts at the bottom”
Slide 16
Slide 16 text
html head meta link body p hello world DOM + CSSOM body font-size: 16px p display: none = Render Tree body
Slide 17
Slide 17 text
Layout Calculate position and size of nodes in tree.
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
Batched & Immediate Browser batches changes. Certain things force an immediate layout.
Slide 20
Slide 20 text
Tread Carefully Forced sync layout. Layout thrashing. http://bit.ly/1TbWsmx Batch operations. FastDOM
Slide 21
Slide 21 text
Paint
Slide 22
Slide 22 text
Two Step Process
Slide 23
Slide 23 text
Draw Calls
Slide 24
Slide 24 text
Rasterization
Slide 25
Slide 25 text
Compositing
Slide 26
Slide 26 text
Update Layer Tree Image Decode Major GC Evaluate Script Minor GC Timer Fired
Slide 27
Slide 27 text
Interval
Slide 28
Slide 28 text
Continous.
Slide 29
Slide 29 text
R.A.I.L
Slide 30
Slide 30 text
Example
Slide 31
Slide 31 text
Load - 1s
Slide 32
Slide 32 text
Idle - 50ms chunks
Slide 33
Slide 33 text
Animation - 16.6ms 8ms
Slide 34
Slide 34 text
You the compositor
Slide 35
Slide 35 text
Reduce Paint Areas will-change: transform, translateZ(0)
Slide 36
Slide 36 text
F.L.I.P bit.ly/1TJ4VAv
Slide 37
Slide 37 text
Response 100ms
Slide 38
Slide 38 text
e.preventDefault()
Slide 39
Slide 39 text
All weighted equally
Slide 40
Slide 40 text
Go Explore
Slide 41
Slide 41 text
Go Educate
Slide 42
Slide 42 text
Context is key
Slide 43
Slide 43 text
Thanks