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