Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Jankety Jank
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ben-Cooper
August 25, 2015
Programming
0
130
Jankety Jank
Whistle stop tour of the rendering pipeline & app lifecycle.
Ben-Cooper
August 25, 2015
Tweet
Share
More Decks by Ben-Cooper
See All by Ben-Cooper
Engineering Yourself
17bc17
0
39
Internal-CSS-Talk.pdf
17bc17
0
100
Mobile Web Performance
17bc17
0
76
So much to learn!
17bc17
0
74
Other Decks in Programming
See All in Programming
AgentCoreとHuman in the Loop
har1101
5
230
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
2026年 エンジニアリング自己学習法
yumechi
0
130
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
560
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
280
CSC307 Lecture 08
javiergs
PRO
0
670
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
120
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
270
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
620
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
Featured
See All Featured
Practical Orchestrator
shlominoach
191
11k
Why Our Code Smells
bkeepers
PRO
340
58k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Crafting Experiences
bethany
1
48
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Designing for Performance
lara
610
70k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Test your architecture with Archunit
thirion
1
2.1k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
210
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