解析Android渲染流程
发布时间
阅读量:
阅读量
每一个View对应一个RenderNode,一个独立的GLES20RecordingCanvas。
2.父视图的DisplayList包含所有子视图的DisplayList。
在实施硬件加速与非硬件加速时,Canvas呈现不同的特性。其中,在硬件加速场景下采用标准的Canvas实现方式,在非硬件加速场景下则基于GLES20RecordingCanvas架构设计。具体而言,在GLES20RecordingCanvas对象上所执行的绘图操作并未实际呈现图形,并且将这些绘图操作整合到DisplayList列表中进行批量渲染处理以提高效率
gles20_canvas_gles20canvas_drawarc()
android_view_gles20canvas_drawarc()
renderer->draw_arc(left,top,right,bottom,start_angle,sweep_angle"use_center",paint)
display_list_renderer::draw_arc()
addDrawOp(new (alloc()) DrawArcOp(left,top,right,bottom,start_angle,sweep_angle"use_center",paint))
基于GLES20标准开发的RecordingCanvas类继承自Hard
全部评论 (0)
还没有任何评论哟~
