位置: 编程技术 - 正文
推荐整理分享Skia深入分析8——Skia的GPU绘图(sku分析的作用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:ska数据处理,skam分析,skt分析,skt分析,sk分析法,sk分析怎么写,sk分析法,sk分析法,内容如对您有帮助,希望把文章链接给更多的朋友!
在Android4.2到Android5.0的过程中,skia中开发较频繁的部分莫过于GPU加速部分和延迟渲染机制,尽管目前来看几乎没有用到,但后续很可能会在Frameworks层引入。 在Android上面,只可能使用OpenGL,因此作为使用OpenGL的绘图引擎,关注如下要点即可: 1、OpenGL上下文如何建立(关系到如何显示绘制结果) 2、顶点如何生成 3、着色器如何管理,特效怎么设置 4、纹理、vbo、字体cache等缓存管理机制 由于OpenGL编程本身很复杂,东西也很多,这里只是介绍一下用法和流程框架,有兴趣研究的可按上述问题细看。
二、用法Skia创建GPU上下文时,其Surface并不关联Android里面的显示系统,因此是无法直接渲染上屏的,在绘制完成之后需要额外的一次readPixels,也即内存拷贝,这使其不适合做实时渲染。只是在做比较复杂的效果,如Bicubic插值、光照、模糊时,可以用一用。 关于 Skia的特效,可以看 include/effects 和 src/effects 目录下面的代码,这里面是CPU方式实现的。由于很少见用到,之前并没有介绍。 对应的gpu特效实现见 include/gpu 和 src/gpu/effects目录下的代码。
三、流程与框架SkGpu的一次绘制基本流程如下:
Created with Raphaël 2.1.2SkCanvasSkGpuDeviceGrContextGrDrawTargetGrGpuGrGLInterfaceSkCanvas:如之前章节所述,下发命令,保留Layer SkGpuDevice:处理退化情况,将SkPaint转化为GrPaint GrContext:构建形(顶点Vertex)且处理抗锯齿,描述色(GrDrawState) GrDrawTarget:描述绘图目标,起接口作用,将材料打包为Drawinfo,由子类执行 onDraw方法。 GrGpu:设定Shader、设定顶点,调用OpenGL接口渲染 GrGLInterFace:由于各个厂商支持的OpenGL标准版本有所不同,且一些厂商会增加一些接口,这一层做一个API适配,这样平台相关的代码就集中在此层级。
Opengl配置 安装GLUT工具包,这个工具包是对Opengl的封装Windows环境下的GLUT下载地址:(大小约为k)
Windows7下Qt项目添加OpenGL Windows7下Qt项目添加OpenGL前几日需要在已有的Qt项目中添加OpenGL,尝试许多方法均不得其解,最后竟然发现问题出自最初Qt项目建立上!!!我是用的是Qt4
JAVA的OPENGL,JOGL入门实例----不断变色的点阵 (源代码) 不断变色的点阵(源代码)第一个类(代码解读)packagetest1.opengl;importjava.awt.BorderLayout;importjava.awt.Component;importjava.awt.Dimension;importjava.awt.HeadlessException;imp
标签: sku分析的作用
本文链接地址:https://www.jiuchutong.com/biancheng/373106.html 转载请保留说明!友情链接: 武汉网站建设