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
Render Loop
Search
USAMI Kosuke
August 12, 2021
Programming
2
1.2k
Render Loop
UIレンダリングの仕組みを知る
potatotips #75 iOS/Android開発Tips共有会
https://potatotips.connpass.com/event/218185/
USAMI Kosuke
August 12, 2021
Tweet
Share
More Decks by USAMI Kosuke
See All by USAMI Kosuke
Onsager代数とその周辺 / Onsager algebra tsudoi
usamik26
0
590
Apple HIG 正式名称クイズ結果発表 / HIG Quiz Result
usamik26
0
150
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
300
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
450
これからUICollectionViewを実践活用する人のためのガイド / Guide to UICollectionView
usamik26
1
710
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
640
UICollectionView Compositional Layout
usamik26
0
730
Coding Swift with Visual Studio Code and Docker
usamik26
0
480
Swift Extension for Visual Studio Code
usamik26
2
990
Other Decks in Programming
See All in Programming
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
19
4.2k
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
1.1k
Domain-Driven Design (Tutorial)
hschwentner
13
22k
はじめての Go * WASM *OCR
sgash708
1
110
Webフレームワークとともに利用するWeb components / JSConf.jp おかわり
spring_raining
1
120
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.6k
iOSでQRコード生成奮闘記
ktcryomm
2
110
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
32
9k
Jasprが凄い話
hyshu
0
180
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
160
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
160
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
940
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
440
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Fireside Chat
paigeccino
35
3.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Typedesign – Prime Four
hannesfritz
41
2.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Transcript
6*ϨϯμϦϯάͷΈ ΛΔ Ӊࠤݟެี 1/19
Ӊࠤݟެีʢ!VTBNJLʣ w J04"QQ։ൃ鲠鳫鲰鳃鲚ٕज़ಉਓࢽ鲗ॻ鱉鱫鲃鱞 2/19
5FDI5BMLTͱ w 88%$鲳鲻鲯鳟鳫Ҏ֎鱰鲇"QQMF鱑ެ։鱜鱫鱉鲐ಈը鱑鱇鲐 w "QQMF%FWFMPQFS"QQ鲉鲭鲜鳀鱬ݟ鲑鲐 w 鱢鱳த鱳5FDI5BMLT鱑鱏鲇鱜鲒鱉 3/19
ࠓհ͢Δ5FDI5BMLT w 6*鲚鳃鳙鱅鲯鳟鳫鱳鲏鱏鲍鱸鳤鳫鲸鱅鳣鱅鳏鱰ର鱞鲐ݕ౼ ʢ&YQMPSF6*"OJNBUJPO)JUDIFTBOE5IF3FOEFS-PPQʣ w ݄鱰ެ։鱚鲑鱤 w J04"QQ鱳鲱鲧鳥鱅鳣࣌鱳දࣔ鱳鲇鱤鱩鱒鲗վળ鱞鲐ํ๏ 4/19
)JUDIʢΓʣ w 鳍鳤鱅鳘鱑༧ఆ鲍鲏鱔දࣔ鱚鲑鲐鱘鱭 w ӈ鱳ྫ鱴'SBNF鱳දࣔ鱑鲑鱤 w 'SBNF鱳දࣔ鱬Ұॠࢭ鲃鱨鱫ݟ鱍鲐 5/19
3FOEFS-PPQ w 鲷鲻鲹鲜鳑鳫鳀鱑"QQ鱰鱚鲑鱫鱐鲎 ඳը鱑ऴ鲔鲐鲃鱬鱳鳏鳥鲳鲱鱳鱘鱭 w ஈ֊鱰鱐鲑鲐 w 74:/$鱰߹鲔鱠࣌ؒ鱰ॲཧ鱑ඞཁ w J1IPOFJ1BENTʢ)[ʣ
w J1BE1SPNTʢ)[ʣ 6/19
$PNNJUϑΣʔζ w 3FOEFS-PPQ鱳ஈ֊ w 鳤鲜鲚鲞鳀 w 7JFX鱳ੜ鲉ஔ w layoutSubviews w
දࣔ w 7JFX鱳drawRect w 7JFX鱳֊ߏ鱴อ࣋鱚鲑鲐 7/19
3FOEFSϑΣʔζ w 3FOEFS-PPQ鱳ஈ֊ w $PNNJU鱚鲑鱤7JFXߏ鲗ɺදࣔը໘ 鱭鱜鱫ඳը鱞鲐 w 7JFX鱳ॏ鱲߹鲔鱠ɺ鲯鳛鳁鲞ɺ鲚鳃 鳙鱅鲯鳟鳫鱯鱮 w
3FOEFSTFSWFS鱴"QQ鱭鱴ผ鳏鳥鲳鲱 鱥鱑ɺ։ൃऀ鱳 8/19
දࣔ w 3FOEFS-PPQ鱳ஈ֊ w 鳤鳫鲸鳢鳫鲨鱚鲑鱤鲇鱳鲗දࣔ 9/19
ฒྻ࣮ߦ w 3FOEFS-PPQ鱴ฒྻ࣮ߦ鱚鲑鲐 w 鲸鳎鳣鳈鲻鳍鲙鳢鳫鲨 w දࣔ鱳ཪ鱬3FOEFS鳍鲟鱅鲲 w 3FOEFS鱳ཪ鱬$PNNJU鳍鲟鱅鲲 w
֤鳍鲟鱅鲲鱬੍࣌ؒݶ鲗क鲐ඞཁ鱑鱇鲐 w क鲎鱯鱉鱭)JUDI鱑ൃੜ鱞鲐 10/19
ڐ༰͞ΕΔൣғ w )JUDIUJNFSBUJP w ඵ鱇鱤鲏ԿNT鱳IJUDI鱑鱇鲐鱐 w NTT鱑ཧ w NTTҎԼ鱯鲎(PPE w
鱩鲃鲏ඵ鱰ճఔ鱯鲎େৎ w 鱢鲑鲗鱍鲐鱭ཁௐࠪ 11/19
)JUDIͷௐࠪ w *OTUSVNFOUT鲗鱨鱫ௐࠪ鱬鱒鲐 w ӈ鱳ྫ鱬鱴ɺ$PNNJU鳍鲟鱅鲲鱰࣌ؒ鱑 鱐鱐鱨鱫鱉鲐 w ۩ମత鱰ԿNT鱐鱐鱨鱫鱉鲐鱐鲇ݟ鲑鲐 12/19
ͷॲཧΛ୳͢ w 鱚鲎鱰5JNF1SPpMFS鱬鱮鱳ؔ鱬࣌ؒ 鱑鱐鱐鱨鱫鱉鲐鱐ݟ鲑鲐 13/19
ͷॲཧΛվળ͢Δ w $PMMFDUJPO7JFX$FMM鱬鱑鱇鱨鱤 w prepareForReuse鱬ɺ$FMM鱳 7JFX鲗আ鱜鱫ੜ鱜鱯鱏鱜鱫鱉鱤 w 7JFX鲗࠶ར༻鱞鲐鲍鱋มߋ鱞鲑鱵鲍鱉 14/19
$PNNJU)JUDIͷճආ w લड़鱳)JUDI鱴$PNNJU鳍鲟鱅鲲鱬ൃ ੜ鱜鱤 w $PNNJU鳍鲟鱅鲲鱬ؾ鲗鱩鱖鲐鱾鱒鱘鱭 鱴ଞ鱰鲇鱇鲐 w ྫ鳤鲜鲚鲞鳀ߋ৽鱳鱭鱒ɺ layoutIfNeeded鱳༻鲗ආ鱖鱫
setNeedsLayout鱳༻鱑鱏鱞鱞鲆 15/19
0⒎TDSFFO1BTT w 3FOEFS鳍鲟鱅鲲鱬࣌ؒ鱑鱐鱐鲐ࣄྫ w ӈ鱳ྫ鱬鱴ɺӨ鱳ܗ鲗ௐ鱾鲐鱤鲆鱰ผ鱳 ॴ鱰ਤܗ鲗ඳը鱜鱫鱉鲐 16/19
3FOEFSͷΛൃݟ w 9DPEF鱳7JFX%FCVHHFS鱬Օॴ鱭 վળํ๏鲗ࢦఠ鱜鱫鱔鲑鲐 w ӈ鱳ྫ鱬鱴ɺӨ鱳ඳը鱬鱑ࢦఠ鱚鲑 鱫鱉鲐 w վળํ๏鱭鱜鱫shadowPath鱳ࢦఆ鱑 ఏҊ鱚鲑鱫鱉鲐
17/19
ࢦఠՕॴͷվળ w ఏҊ鱚鲑鱤鱭鱏鲏shadowPath鲗໌ࣔ త鱰ࢦఆ鱞鲐 w 鱘鲑鱬0GGTDSFFO1BTT鲗ݮ鲎鱜鱫 3FOEFS鳍鲟鱅鲲鱳ॲཧ࣌ؒ鱑վળ鱜鱤 18/19
ࢀߟʢ5FDI5BMLTʣ w 6*鲚鳃鳙鱅鲯鳟鳫鱳鲏鱏鲍鱸鳤鳫鲸鱅鳣鱅鳏鱰ର鱞鲐ݕ౼ ʢ&YQMPSF6*"OJNBUJPO)JUDIFTBOE5IF3FOEFS-PPQʣ w 鲫鳗鲻鳀鳍鲟鱅鲲鱬鱳鲏鲗ݟ鱩鱖मਖ਼鱞鲐ʢ'JOEBOE'JY )JUDIFTJOUIF$PNNJU1IBTFʣ w 鳤鳫鲸鳢鳫鲨鳍鲟鱅鲲鱬鱳鲏鲗ඥղ鱒ഉআ鱞鲐ʢ%FNZTUJGZ BOE&MJNJOBUF)JUDIFTJOUIF3FOEFS
19/19