关于课程内容
来源:6-4 surface的绘制原理
全是甘货
2019-05-05
看售前课程介绍的时候,看到了会有Vsync的相关讲解。
可是购买以后,看了下课程目录以及整个第六章,好像又没有Vsync的讲解。
讲Vsync的话,最好可以结合一下systrace来讲,这样会直观很多,因为在systrace上面有几个问题我还不够清晰。
第一:Vsync,surfaceFlinger,Choeographer三者的互动。
第二:关于dispSync,appEventThread,sfEventThread这三个信号跟vsync-app,vsync-sf的联系(有时候出现appEventThread,不一定就出现vsync-app)。
第三:app冷启动以后,通常第一两个Choeographer,他不能直接找到触发它(Choeographer)的appEventThread,而当启动完成后,appEventThread往往就能让Choeographer运作【原因可能是:
虽然通知测量布局绘制的信号发回来了,可是冷启动过程Cpu还有很多事情要做,导致Choeographer不能立马进行工作,但是老师你也说到Choeographer发了一个barrier能挡住其他任务,让Choeographer优先绘制】
还是很高兴能接触到老师这门课程!
1回答
-
风语
2019-05-05
您好,谢谢您的提问和建议,
vsync是在第六章的"6.1屏幕刷新机制"的时候涉及到的,章节目录没有直接出现vsync字样,主要是因为从面试的角度来说,直接问刷新机制综合性更强一点,可以涉及choreographer,vsync和surfaceFlinger三个方面
另外,刷新机制如果详细展开涉及到的内容非常多,6.1这节课已经是这门课程里时间最长的课了,所以从课程设计的角度来说,我个人做出了一些取舍,重点放在choreographer的实现机制,vsync信号的基本原理,以及vsync是如何从surfaceFlinger分发到应用的,我个人觉得作为一个面试题了解到这些是足够了。至于其它的问题比如说vsync信号具体是怎么产生的,surfaceFlinger里面的eventThread的实现细节等等,都不再继续深究。当然,如果学员能有兴趣继续深入研究下去那非常好,而且也欢迎交流。
00
相似问题