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

wordpress调用媒体库/seo网站推广的主要目的

wordpress调用媒体库,seo网站推广的主要目的,如何免费做网站,推广普通话黑板报内容VSync信号 vsync是有两个信号的, 一个是vsync-app用于生成当前帧的数据;(CPU计算和GPU渲染) 一个用于消费数据(合成图像到Display上,vsync-surface) 。 三缓冲机制: CPU缓存为了防止GPU计算超时&#x…

VSync信号

vsync是有两个信号的,

一个是vsync-app用于生成当前帧的数据;(CPU计算和GPU渲染)

一个用于消费数据(合成图像到Display上,vsync-surface) 。

三缓冲机制:

CPU缓存为了防止GPU计算超时,提前生成数据 GPU:将数据放到缓冲池防止屏幕渲染超时

一,vsync信号来源

vsync可以由底层HardWare提供经由Display发送,当底层Hardware不能提供时也会发送vsync信号到Display。vsync屏蔽了底层Hal,使得没有Vsync的硬件也可以使用。

二,发送流程

HardWare到达Display之后,Display会将vsync信号分成两个一个用于生成一个用于消费的vsync信号。

一个是vsync-app唤醒Chrographer做App的绘制操作(生成当前帧数据)

一个是vsync-sf是SurfaceFliger使用,当vsync信号来临时进行合成操作(要满足消费完上一帧数据的条件下)

三,偏移量

vsync每隔16ms发送一个。vsync会分成两个信号发送。这就意味着只要这两个信号在16ms之内处理完数据就可以。 也就是说我们可以打乱顺序是先合成消费帧数据绘制到屏幕上还是先生成帧数据

比如先发送vsync-app在0-13ms做完处理,接着13-16ms在发送vsync-surface合成数据 或者颠倒,但是事件一定保证只要在16ms之内处理完这两个信号即可

四,整个处理过程:

1.vsync-app:UI Thread准备好绘制指令,提交给Render Thread渲染线程去调用OpenGl的函数去生成buffer并放到BufferQuene中

2.vsync-surface:SurfaceFliger进程去BufferQuene中去取出buffer合成图像显示到屏幕Display中。

五,vsync-app 解释

唤醒Chorgrapher去做处理生成当前这一帧的数据。 注意:有两个线程共同合作完成绘制动作:UIThread生成指令和RenderThread调用OpenGl库生成Buffer放入到BufferQuene缓冲队列中。 UIThread:Choreographer.doFrame()RenderThread:DrawFrame

首先来讲UIThread的Choreographer.doFrame方法:

1.按顺序发送INPUT,ANIMATION,TRASVEL并处理他们各自的doFrame方法 先处理输入事件在处理动画,最后的TRASVEL会进行调用到ViewRootImpl中的doTrasvel回调,这个回调里面会进行measure,layout和draw。

这里讲下draw方法,进行performDraw方法调用时会调用全局Surface(也就是activity)的lockCanvas方法。这个方法会在native层的Surface对象中锁定一块内存区域返回值为canvas也就是这片在native层的Surface内存空间中。接下来调用draw方法把这个canvas传入到参数中,也就是我们在draw方法中对canvas进行的修改实质上都是对这块内存区域的修改。最后draw方法调用完成后,会进行释放这块内存区域并交给RenderThread去处理渲染数据。(释放的操作在native层对应的处理是把这块内存区域变成一个Bitmap交由RenderThread去渲染)

draw方法其实并没有进行真正的绘制,而是把绘制的内容放入到了DisplayList中接着同步到RenderThread中。

绘制最终会调用到View.invalidate方法

2.RenderThread执行的时候UIThread就可以释放掉去做其他处理,接着RenerThread去取出DisplayList中的数据进行处理生成frameBuffer给到Surface去做合成处理。 具体流程: RenderThread会执行一个DrawFrameTask的Task,里面核心方法是DrawFrame。通过OpenGl和一些库将渲染数据通知给SurefaceFliger去做图层合成。将渲染数据放入到阻塞队列中

六,vsync-sf:

App端中RenderThread产生的FrameBuffer数据会在SurfaceFliger中进行消费。也就是取出阻塞队列中的渲染数据。SurfaceFliger进行合成到Display上面处理

http://www.lbrq.cn/news/951013.html

相关文章:

  • 无法登录wordpress/青岛网站seo
  • 何炅做的代言网站/互联网营销软件
  • 免费的个人简历模板电子版/广州百度快速排名优化
  • 科技型中小企业怎么认定/安徽网站关键词优化
  • 建站公司上海/百度旧版本下载
  • 如何做一个企业的网站/长沙疫情最新消息
  • 专业建设网站服务公司/关键词排名霸屏代做
  • 大城县企业网站建设/环球网疫情最新动态
  • 旅游网站模块分类/营销策划培训
  • 网站制作.com语言/谷歌 chrome 浏览器
  • 企业做淘宝客网站有哪些/网络推广外包代理
  • 凡科做的网站可以在百度搜到吗/培训心得体会500字
  • 中国消防日/seo营销推广服务公司
  • 兵团建设环保局网站/网站建设关键词排名
  • 广州海珠做网站/网站推广的基本方法是
  • 宁波高端网站建设联系方式/百度关键词价格查询
  • 卡当网站建设/西安seo引擎搜索优化
  • 做搜索引擎网站/北京度seo排名
  • 南阳做网站公司哪家好/图片外链上传网站
  • wordpress文章页面添加广告/seo合作代理
  • 网站制作报价/九江seo公司
  • 如何在人力资源网站做合同续签/hao123上网从这里开始官方
  • 做昆特牌的网站/网站搜索优化官网
  • 优秀网页案例/东莞百度seo关键词优化
  • 网站制作上哪学校/百度推广官网网站
  • 可以发外链的网站或平台有哪些/seo是哪个英文的简写
  • 成都企业网站建设哪家专业/网站及搜索引擎优化建议
  • 招标网站哪个好/高质量发展服务业
  • 用struts2框架做的网站/长沙优化排名推广
  • 做外贸的物流网站/可以免费打开网站的软件
  • 如何用 Z.ai 生成PPT,一句话生成整套演示文档
  • tabBar设置底部菜单选项、iconfont图标(图片)库、模拟京东app的底部导航栏
  • 【算法300题】:双指针
  • 枪战验证系统:通过战斗证明你是人类
  • 费曼学习法
  • nginx定期清理日志