Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Jankety Jank
Search
Ben-Cooper
August 25, 2015
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Jankety Jank
Whistle stop tour of the rendering pipeline & app lifecycle.
Ben-Cooper
August 25, 2015
More Decks by Ben-Cooper
See All by Ben-Cooper
Engineering Yourself
17bc17
0
49
Internal-CSS-Talk.pdf
17bc17
0
100
Mobile Web Performance
17bc17
0
81
So much to learn!
17bc17
0
88
Other Decks in Programming
See All in Programming
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
カツオ、ご期待ください
suneo3476
0
190
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
160
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
610
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
150
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Featured
See All Featured
Building an army of robots
kneath
307
47k
Become a Pro
speakerdeck
PRO
31
6.3k
Being A Developer After 40
akosma
92
590k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Writing Fast Ruby
sferik
630
63k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
How to train your dragon (web standard)
notwaldorf
96
6.9k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
30 Presentation Tips
portentint
PRO
1
430
Product Roadmaps are Hard
iamctodd
55
13k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
Transcript
Jankety Jank
0
Jank?
Aalreet! means hello
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
None
100ms to 10s
Frame Budget 1000 / 60 = 16.6ish
The Rendering Pipeline Warning - browser internals are around the
bend.
Renderer Process GPU Process
Renderer Process GPU Process Compositor Compositor Worker Thread/s Main Thread
GPU Thread
None
Parsing Converting code to various tree structures
Tokeniser Parse Tree DOM Script Exe
“Scripts at the bottom”
html head meta link body p hello world DOM +
CSSOM body font-size: 16px p display: none = Render Tree body
Layout Calculate position and size of nodes in tree.
None
Batched & Immediate Browser batches changes. Certain things force an
immediate layout.
Tread Carefully Forced sync layout. Layout thrashing. http://bit.ly/1TbWsmx Batch operations.
FastDOM
Paint
Two Step Process
Draw Calls
Rasterization
Compositing
Update Layer Tree Image Decode Major GC Evaluate Script Minor
GC Timer Fired
Interval
Continous.
R.A.I.L
Example
Load - 1s
Idle - 50ms chunks
Animation - 16.6ms 8ms
You the compositor
Reduce Paint Areas will-change: transform, translateZ(0)
F.L.I.P bit.ly/1TJ4VAv
Response 100ms
e.preventDefault()
All weighted equally
Go Explore
Go Educate
Context is key
Thanks