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
Optimizing & Profiling UI Performance
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Brenda Cook
July 29, 2016
Programming
13k
6
Share
Optimizing & Profiling UI Performance
Presented at 360|AnDev 2016
Brenda Cook
July 29, 2016
More Decks by Brenda Cook
See All by Brenda Cook
Fragments: Why? How? and What For?
kenodoggy
3
3.7k
Other Decks in Programming
See All in Programming
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
1
700
Spec-Driven Development with AI Agents (Workshop, May 2026)
antonarhipov
3
340
ハーネスエンジニアリングとは?
kinopeee
13
6.9k
Terraform言語の静的解析 / static analysis of Terraform language
wata727
1
140
AIを導入する前にやるべきこと
negima
2
340
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
2
350
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
140
when storing skills in S3 file
watany
3
1.5k
Agent Skills を社内で育てる仕組み作り
jackchuka
1
1.8k
AIと共に生きる技術選定 2026
sgash708
0
130
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
190
From Formal Specification to Property Based Test
ohbarye
0
2.4k
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Designing Powerful Visuals for Engaging Learning
tmiket
1
360
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
70
39k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
530
Accessibility Awareness
sabderemane
1
110
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
300
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
560
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
Optimizing & Profiling UI Performance
What does it mean to have performant UI?
Jank
Frame Rate (FPS)
Refresh Rate (Hz)
1 second (1000ms) / 60 frames = 16.67ms per frame
FPS is capped by device display (refresh rate Hz) due to VSync
VSync
3 Double Buffering 0 1 2 1 2 CPU GPU
Display 1 1 Front Buffer CPU GPU Back Buffer 2 3 3 VSync VSync VSync VSync Frame Drop
4 3 Triple Buffering 0 1 2 3 1 2
CPU GPU Display 1 1 Front Buffer CPU GPU Back Buffer CPU GPU 3rd Buffer 2 3 4 VSync VSync VSync VSync Frame Drop
No VSync
Optimize
Flatten View Hierarchy
Deeply Nested View Hierarchy
Deeply Nested View Hierarchy
Shallow View Hierarchy
Deeply Nested Design View Optimized
Hierarchy Viewer
3 2 1
[show deeply nested hierarchy]
[show shallow hierarchy]
[show image of obtaining measure, layout and draw time]
None
None
Know your Views
GPU Overdraw
None
None
None
clipRect & quickReject
Performance Profiling
Profile GPU Rendering
None
Marshmallow
None
Android Studio Monitors
None
android { buildTypes { debug { debuggable true }
release { ... } } }
None
None
Systrace
$ cd android-sdk/platform-tools/systrace $ python systrace.py --time=10 -o mytrace.html sched
gfx view wm
None
None
None
None
None
None
None
None
Image Libraries to the Rescue! Picasso
Thank you Twitter @kenodoggy g+ +BrendaCook_kenodoggy