This解釋VSYNC
,但速度非常快,我無法找到任何其他好的資源來理解這個話題。什麼是android
我的理解是這個;
VSYNC發生在每16ms
,並且所有的框架部件INPUT
ANIMATION
LAYOUT
RECORD DRAW
& RENDER
的只在這一時間發生1,所以與VSYNC的幀渲染是同步的,並且它在指定的時間限制重繪幀。
如果這種理解是正確的,請引導我。
This解釋VSYNC
,但速度非常快,我無法找到任何其他好的資源來理解這個話題。什麼是android
我的理解是這個;
VSYNC發生在每16ms
,並且所有的框架部件INPUT
ANIMATION
LAYOUT
RECORD DRAW
& RENDER
的只在這一時間發生1,所以與VSYNC的幀渲染是同步的,並且它在指定的時間限制重繪幀。
如果這種理解是正確的,請引導我。
VSYNC是垂直同步。它是電視機,顯示器,顯示器等常用術語。基本上可以將其視爲刷新率,即顯示器實際刷新的頻率。顯示器只能在VSYNC信號上進行更新,因此顯示屏的更改基本上都會批處理,直到下一個VSYNC。
這個術語來自舊電視,VSYNC實際上從電視的頂部到底部每次改變1行。這就是爲什麼在一些老的電視機上,你可以看到一個變化的標尺在屏幕上移動。
和'VSYNC'在每個'16ms'之後出現,並且在單個'VSYNC'中可以呈現多個幀?假設我在視圖中有8個按鈕,沒有動畫,所以它們將以「16ms」繪製。在這種情況下,'VSYNC'將只執行一次,或者如果它的複雜視圖'Facebook'應用,那麼VSYNC'如何分配幀渲染位置,並感謝這樣一個很好的解釋。 – Kirmani88
基本上,從非常高的層面上來看待它 - 當你繪製時,你實際上正在繪製一張內存中的位圖,無論你是否認爲自己。每16ms,Android就會獲取該位圖並將其轉儲到設備。如果在16ms內繪製了10幀,則只繪製最後一幀。你在屏幕上繪製的地方並不重要,它的全部都是緩衝的。 (如果你在硬件層工作,這可能不是真的,但是在現代操作系統上,設備驅動層以上的人不得不考慮這一點)。 –
我不理解這部分,'如果你在16ms內畫了10幀,只畫出最後一幀,只畫出最後一幀。 – Kirmani88
這可能有助於在Project Butter上觀看這個Google IO視頻:https://youtu.be/Q8m9sHdyXnE –
@MorrisonChang謝謝! – Kirmani88