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
720
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
640
UICollectionView Compositional Layout
usamik26
0
740
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
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
650
sappoRo.R #12 初心者セッション
kosugitti
0
280
Expoによるアプリ開発の現在地とReact Server Componentsが切り開く未来
yukukotani
2
220
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
230
GoとPHPのインターフェイスの違い
shimabox
2
220
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
180
Better Code Design in PHP
afilina
0
180
CDKを使ったPagerDuty連携インフラのテンプレート化
shibuya_shogo
0
120
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
260
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
260
DevNexus - Create AI Infused Java Apps with LangChain4j
kdubois
0
130
変化の激しい時代における、こだわりのないエンジニアの強さ
satoshi256kbyte
0
110
Featured
See All Featured
The Invisible Side of Design
smashingmag
299
50k
BBQ
matthewcrist
87
9.5k
Faster Mobile Websites
deanohume
306
31k
How to Ace a Technical Interview
jacobian
276
23k
A Philosophy of Restraint
colly
203
16k
Typedesign – Prime Four
hannesfritz
41
2.5k
Building Your Own Lightsaber
phodgson
104
6.2k
GraphQLとの向き合い方2022年版
quramy
44
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Music & Morning Musume
bryan
46
6.4k
Code Review Best Practice
trishagee
67
18k
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