2026/4/2 14:27:43
网站建设
项目流程
甘肃省水利建设工程项目网站,淘宝客优惠卷网站模板,wordpress 成绩管理,个人小程序制作流程概念
硬件
CPU#xff1a;三大绘制流程中Surface的计算。GPU#xff1a;以SurfaceFlinger服务的形式工作#xff0c;将CPU计算好的Surface数据合成后放到buffer中#xff0c;让显示器进行读取屏幕刷新率#xff1a;屏幕在1s内去buffer中取数据的次数#xff0c;单位为HZ。…概念硬件CPU三大绘制流程中Surface的计算。GPU以SurfaceFlinger服务的形式工作将CPU计算好的Surface数据合成后放到buffer中让显示器进行读取屏幕刷新率屏幕在1s内去buffer中取数据的次数单位为HZ。主流屏幕刷新频率是每秒60次高的有90,120等。软件60 fps 的意思是说画面每秒更新 60 次也就是 16.67 ms 刷新一次FPS 则是由 Vsync 来控制的Vsync 是通过 Choreographer 来控制应用刷新的频率的。每隔 16.6 msVsync 信号到来唤醒 Choreographer 来做 App 的绘制操作。Vsync 信号到来的时候Choreographer 借助 Message 机制开始一帧的绘制工作用户感知卡顿如果主线程 渲染线程每一帧的执行都超过 16.6ms(60fps 的情况下)那么就可能会出现掉帧、丢帧。如果是APP端没有及时渲染而BufferQueue中还有未消费的缓冲可能就不会有掉帧现象。画面撕裂帧率和屏幕刷新率的不一致导致的不会丢失。ANR如果界面线程被阻塞超过几秒钟时间根据组件不同 , 这里的阈值也不同用户会看到 “应用无响应” (ANR) 对话框(部分厂商屏蔽了这个弹框,会直接 Crash 到桌面)刷新机制Android 4.1加入垂直同步技术(VSYNC)以及三重缓冲技术(Triple Buffer)VSync垂直同步信号Vsync-App Vsync-SF lockAsync硬件屏幕保持固定频率会发出的一个脉冲信号提醒CPU立即进入屏幕绘制过程提醒GPU进行buffer的交换Vsync-SF将所有准备好的 Buffer 取出进行合成Triple Buffer一个用于GPU的合成一个用于屏幕的刷新一个在Jank时最大限度避免CPU空闲。Jank可能掉帧。会有前后交换buffer没有准备好的情况Jank。此时需要第三个buffer最大限度避免CPU空闲的情况。