标签:硬件加速 渲染 图形图像 OpenGL 相关 GPU Android CPU
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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。