什么是卡頓與掉幀?
在 VSync 信號到來后木柬,系統(tǒng)圖形服務(wù)會通過 CADisplayLink 等機(jī)制通知 App,App 主線程開始在 CPU 中計算顯示內(nèi)容,比如視圖的創(chuàng)建哗魂、布局計算、圖片解碼漓雅、文本繪制等录别。隨后 CPU 會將計算好的內(nèi)容提交到 GPU 去,由 GPU 進(jìn)行變換邻吞、合成组题、渲染。隨后 GPU 會把渲染結(jié)果提交到幀緩沖區(qū)去吃衅,等待下一次 VSync 信號到來時顯示到屏幕上往踢。由于垂直同步的機(jī)制,如果在一個 VSync 時間內(nèi)徘层,CPU 或者 GPU 沒有完成內(nèi)容提交峻呕,則那一幀就會被丟棄利职,等待下一次機(jī)會再顯示,而這時顯示屏?xí)A糁暗膬?nèi)容不變瘦癌。這就是界面卡頓的原因猪贪。CPU 和 GPU 不論哪個阻礙了顯示流程,都會造成掉幀現(xiàn)象.