Android图形图像相关(二)
作者:互联网
Android硬件加速(二)-RenderThread与OpenGL GPU渲染
https://www.jianshu.com/p/dd800800145b
对于Android APP而言,基于GPU的硬件加速绘制可以分为如下几个阶段:
- 第一阶段:APP在UI线程构建OpenGL渲染需要的命令及数据
- 第二阶段:CPU将数据上传(共享或者拷贝)给GPU,PC上一般有显存一说,但是ARM这种嵌入式设备内存一般是GPU、CPU共享内存
- 第三阶段:通知GPU渲染,一般而言,真机不会阻塞等待GPU渲染结束,效率低,CPU通知结束后就返回继续执行其他任务,当然,理论上也可以阻塞执行,glFinish就能满足这样的需求(不同GPU厂商实现不同,Android源码自带的是软件实现的,只具有参考意义)(Fence机制辅助GPU CPU同步)
- 第四阶段:swapBuffers,并通知SurfaceFlinger图层合成
- 第五阶段:SurfaceFlinger开始合成图层,如果之前提交的GPU渲染任务没结束,则等待GPU渲染完成,再合成(Fence机制),合成依然是依赖GPU,不过这就是下一个任务了
Surfaceflinger启动流程
https://www.huaweicloud.com/articles/cd17cf3ee32f423e022da79ef5a493a8.html
上层framework调用
activity中surface创建流程
Android系统启动
标签:硬件加速,渲染,图形图像,OpenGL,相关,GPU,Android,CPU 来源: https://blog.csdn.net/cpcpcp123/article/details/115376141