当前位置: 首页 > news >正文

免费不收费网站有哪些包就业的培训学校

免费不收费网站有哪些,包就业的培训学校,利津网站建设,淘宝网站推广工具目录 引言 概念与理解 SurfaceFlinger Surface HWC Fence: Gralloc: DisplayDevice 引言 Activity是Android的主要UI相关组件。通过View的相关类和接口实现,在WMS的管理下,进行窗口和控件的测量,布局和绘制&am…

目录

引言

概念与理解

SurfaceFlinger

Surface

HWC

Fence:

Gralloc:

DisplayDevice


引言

Activity是Android的主要UI相关组件。通过View的相关类和接口实现,在WMS的管理下,进行窗口和控件的测量,布局和绘制,形成的图层交给SurfaceFlinger进行合成渲染,然后提供给屏幕进行显示

概念与理解

SurfaceFlinger

是Android图形的大总管,负责管理图形的合成与渲染。

SurfaceFlinger会依赖多个线程来实现完成其合成渲染的功能。这些线程也是实现Vsync机制的框架的线程。换句话说,SurfaceFlinger主要是依赖于Vsync机制来实现流水线的方式管理Android图形的合成与渲染。首先Vsync可以是由硬件产生,也可以由软件来产生,硬件产生Vsync的实体叫做:HWComposer,软件的产生Vsync的实体叫做:VsyncThread。在SurfaceFlinger启动main函数初始化阶段,还会创建一个DispVsyncThread,用于将Vsync信号一分为二,分别提供给SF和APP。产生这两个vsync信号的叫做EventThread-sf和EventThread-app

Surface

可以理解为一个canvas的画布,可以利用skia库进行绘制。一个窗口就对应一个Surface

Android显示的基本流程是:

1)创建一个SurfaceFlinger的客户端SurfaceComposerClient,通过这个客户端创建一个Surface,同时获取一个SurfaceControl

2)SurfaceControl设置Layer层数,Surface获取buffer

3)锁定Buffer并写入buffer

4)提交buffer,由屏幕进行刷新显示

HWC

HWC:hwcomposer,是Android系统进行窗口合成显示的HAL层模块,通常是由显示设备制造商OEM实现并完成,为SurfaceFlinger服务提供硬件支持

HWC对Layer进行合成属于硬件操作,可以减轻GPU合成负担,这两种合成方式被称作:Device与Client。

HWC的合成流程大概是:

1)SurfaceFlinger向HWC提供所有Layer的完整列表,让HWC根据其硬件能力决定如何处理这些Layer。

2)HWC给每个Layer标注合成方式

3)SurfaceFlinger负责先把标注成GPU合成的Layer合成到一个输出buffer,然后把这个输出buffer和其他Layer一起交给HWC,让HWC完成剩余Layer的合成,最后提供给屏幕进行显示

官方要求HWC设备必须具备的功能:

1)至少支持4个叠加层:状态来,系统栏,应用本身和壁纸或者背景

2)叠加层可以大于显示屏

3)具备每像素和每平面的Alpha混合

4)为了支持受保护内容,必须提供受保护内容视频播放的硬件路径

5)RGBA packing order,YUV formats,tiling,swizzling,strict properties

部分专业词汇说明:

  1. Tiling:可以把Image切割成MxN个小块,最后渲染时,再将这些小块拼接起来,就像铺瓷砖一样。
  2. Swizzling:一种拌和技术,表示向量单元可以被任意地重排或重复

HWComposer是Device合成的抽象

Fence:

Fence是一种资源同步机制,可以理解为资源锁。主要用于跨硬件场景,如:CPU,GPU,HWC之间的buffer资源的同步。

实现原理:

Gralloc:

般来讲Gralloc模块在实际设备中是由硬件厂商提供的,以便于最佳地配合手机硬件。实现的目录在hardware/libhardware/modules/gralloc中
Android帧缓冲区硬件抽象层模块Gralloc的实现原理如下:
1)分配一个匹配屏幕大小的图形缓冲区
2)将分配好的图形缓冲区注册(映射)到当前进程的地址空间来
3)将要绘制的画面的内容写入到已经注册好的图形缓冲区中去,并且渲染(拷贝)到系统帧缓冲区中去
为了实现以上三个操作,我们还需要:
1)加载Gralloc模块
2)打开Gralloc模块中的gralloc设备和fb设备
其中,gralloc设备负责分配图形缓冲区,Gralloc模块负责注册图形缓冲区,而fb设备负责渲染图形缓冲区。在GrafficBuffer中,内存是由Gralloc模块中分配的,基于上一节 FB的工作原理,这里主要分析Gralloc模块如何分配内存。

DisplayDevice

应用端的Buffer是向Ashmem申请的;DisplayDevice端的Buffer是向FrameBuffer申请的
应用端的Buffer是用来填充的;DisplayDevice端的Buffer是用来推给Framebuffer 渲染的

http://www.hkea.cn/news/411913/

相关文章:

  • 网站推广服务合同简述网络营销的主要方法
  • 信息门户网站是什么成人计算机培训机构哪个最好
  • 网站建设公司 中企动力公司东莞商城网站建设
  • b2c的电子商务网站自己想做个网站怎么做
  • 京东pc网站用什么做的如何注册网站怎么注册
  • 长沙商城网站制作seo线下培训课程
  • web网站开发公司网站制作优化排名
  • 这么做3d网站企业邮箱网页版
  • 瑞安网站建设公司关键词排名网络推广
  • 南京学做网站友情链接检查工具
  • 参考文献网站开发百度重庆营销中心
  • 如何做微信ppt模板下载网站企业网页设计公司
  • 做b2b网站百度点击快速排名
  • 网站怎么做移动图片不显示不出来吗芭嘞seo
  • 旅游网站建设服务器ip域名解析
  • 企业网站建设三个原则百度指数资讯指数是指什么
  • 房地产集团网站建设方案软文文案案例
  • 阜蒙县建设学校网站是什么北京seo编辑
  • 珠海建设局网站十大经典事件营销案例分析
  • 创建网站开发公司互联网推广引流是做什么的
  • 万盛集团网站建设seo网站推广全程实例
  • 做教育的网站需要资质吗网站怎么开发
  • 微网站怎么做滚动中国万网域名注册官网
  • 个人如何免费建网站seo在线优化工具 si
  • 双线主机可以做彩票网站吗网络推广合作协议
  • 做外贸的b2b网站域名批量查询系统
  • 建设网站需要哪些职位网站建设策划书
  • 苏州网站建设哪里好网站点击排名优化
  • 网站建设收费标准策划百度推广关键词越多越好吗
  • 网站怎么做更新吗如何建立网页