从渲染流程上分,Skia可分为如下三个层级:
- 指令层:SkPicture、SkDeferredCanvas->SkCanvas。 这一层决定需要执行哪些绘图操作,绘图操作的预变换矩阵,当前裁剪区域,绘图操作产生在哪些layer上,Layer的生成与合并。
- 解析层:SkBitmapDevice->SkDraw->SkScan、SkDraw1Glyph::Proc。 这一层决定绘制方式,完成坐标变换,解析出需要绘制的形体(点/线/规整矩形)并做好抗锯齿处理,进行相关资源解析并设置好Shader。
- 渲染层:SkBlitter->SkBlitRow::Proc、SkShader::shadeSpan。 这一层进行采样(如果需要),产生实际的绘制效果,完成颜色格式适配,进行透明度混合和抖动处理(如果需要)。

