位置: 编程技术 - 正文

Android性能优化Google课程翻译一:Render(Android性能优化 武汉招聘)

编辑:rootadmin
Context:

推荐整理分享Android性能优化Google课程翻译一:Render(Android性能优化 武汉招聘),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Android性能优化实战,android性能优化面试题,Android性能优化 武汉招聘,Android性能优化面试,Android性能优化书籍,android性能优化工具,android性能优化工具使用,android性能优化面试题,内容如对您有帮助,希望把文章链接给更多的朋友!

我自己写下Google关于Android性能优化的视频课程的翻译,希望转载者不要删除我的博客地址 更新下Activity,具体取决于手机硬件。这意味着你要在ms内处理你所有的绘画逻辑。如果你错过了这个ms,页面不会绘制,这就叫做 dropped frame。然而动画的运算并不会停止,所以呈现给用户的就是在平滑性上发生了跳跃。这就叫做laggy或者janky体验。

2.Android的渲染通道分为两个关键区域:CPU和GPU。

CPU(measure测量-->layout布局--->record记录--->execute执行)---->GPU(rasterization光栅化:计算每一个像素点的&#;)

CPU的问题:不必要的layout,视图层次(View Hierachy)中无意义的计算、拆分(torn down)、重建(rebuilt)

XML转换到屏幕显示的原理过程:

XML----转换---->Screen,核心步骤:rasterization光栅化(如图)。Rasterization是非常的消耗资源,所以上个世纪年代引入了单独的图像处理单元GPU。GPU使用一些指定的基础指令集(set of primitive: polygons多边形,textures 文理,images 图像),而CPU在画东西到屏幕前,会给GPU输入这些指令(a set of primitive)。这一过程通常使用的API就是Android的OpenGL ES。

这意味着如果画一个button,他会在CPU中先转化为polygons多边形、texture纹理((computer graphics) An image applied to a polygon to create the appearance of a surface:图像被添加到一个多边形上来创造事物的外观)------------》传递给GPU进行rasterization光栅化。

其中有两处耗时操作:

1.在CPU中将button等事物 转换成相应的形状(polygons),绘制它的表面(texture)

Android性能优化Google课程翻译一:Render(Android性能优化 武汉招聘)

2.CPU将数据传送GPU

对应措施:

你要减少CPU中绘制的事物和CPU往GPU上载数据,而OpenGL ES提供了向GPU上传数据和保存数据的API。所以,当你下次绘制一个button时,你只需要在GPU中引用它(也就是在GPU中完成polygons、texture),告诉OpenGL如何进行绘制它。一条经验之谈就是:优化渲染的性能意味着,尽可能快的上传数据到GPU和在GPU上尽可能长的保留数据。

从HoneyComb版本开始,整个View的渲染就在GPU中,并不断优化,所以你不用关心这个。例如:任何你的theme提供的资源如Bitmaps、Drawables等,被整合到一个单独的texture(感觉就是事物表面的意思)中,然后使用meshes上传到GPU像是点9图。这样每次你需要绘制这些资源时,你就不用做任何转换,他们已经存储在GPU中了。

然而随着UI事物更加先进,绘制流程也更加复杂。例如绘制一个image,这意味着上传Image到CPU再到GPU。使用Path则完全不同,你需要在CPU中创建一连串的polygons多边形,甚至在GPU中创建masking texture(蒙版纹理)来定义path。绘制字符,首先你必须在CPU中将绘制image---》上传到GPU---》在屏幕上绘制每一个字符串中字符的正方形,这些都被Android系统所处理。而这存在程序员都会遇的GPU问题OverDraw(过度绘制)

OverDraw:是一个单独的Frame(帧)中像素被重新绘制了多少次。例如UI卡片,上面有层VIew,绝大部分View在下边。这意味这我们费时的绘制大部分是不可见的。

查看OverDraw:进入手机开发者模式,打开show GPU overdraw开关。紫色(应该算是吧):一次绘制;绿色2次绘制;粉色3次绘制;红色4次绘制(如图2)

下一篇博客讲怎么解决OverDraw

今天晚上在继续翻译吧!

OpenGL--环境映射 理论基础三维场景中的物体不仅受光照影响,而且受周围环境的影响,如金属,水面等材质都可以映射出周围环境的图像。模拟物体光滑表面能够映射

Android OpenGL ES绘图教程之二 : 定义形状 在OpenGLESview中可以定义要绘制图形的形状,是你创建高端图形杰作的第一步。在不知道一些基础的情况下来绘制会有点棘手,比如OpenGLES是如何定义图形

OpenGL编程逐步深入(六)平移变换 准备知识从这一节我们开始接触3D对象各种各样的变换,使其显示在屏幕上看起来有深度的感觉。通常每一种变换都是通过矩阵来实现的,把这些变换矩

标签: Android性能优化 武汉招聘

本文链接地址:https://www.jiuchutong.com/biancheng/369569.html 转载请保留说明!

上一篇:OpenGL初使用,glut库安装(vs2013)(opengl示例)

下一篇:OpenGL--环境映射(opengl环境配置)

  • 房屋出租何时缴税
  • 进口洋酒能存放多少年
  • 公对公退款要交税吗
  • 不动产统一发票图片
  • 核定征收季度核定销售额
  • 资产负债表本期盈余为什么是负数
  • 已抵扣发票冲红会计分录
  • 去年的增值税普票能作废吗?
  • 申报更正日期改变会导致逾期申报吗
  • 企业预算管理为何要以企业战略,核心竞争力,风险为导向
  • 小规模纳税人费用发票怎么做账
  • 贸易公司发票怎么平衡
  • 小规模纳税人销售额
  • 党组织专项经费项社区服务队项目简介
  • 委托、受托出口做账有哪些事项?
  • 企业承租经营的承租人取得的所得
  • 7月1日前购进的农产品如何抵扣
  • 附加税是地方还是国家的
  • 工商年报填错了能改吗
  • 港口建设费2021年归国家税务总局
  • 减税降费在中国 应形成制度性
  • 企业出售已使用过的固定资产税率
  • 事业单位固定资产报废处置流程
  • 投资管理公司收费
  • 企业接受非现金资产投资的账务处理
  • 进项税额能抵扣的几种情形
  • 季报的利润表是填本期金额还是本年
  • 小规模纳税人适用的增值税征收率
  • 验资报告需要什么材料
  • 环境保护税法是什么意思
  • 职工的经济补偿金是优先债权吗
  • 税控专用设备全称是什么
  • 民办非企业单位信息
  • windows问题报告桌面一直闪
  • mysql高级语句
  • 上一年度会计科目错误怎么更正
  • 移动硬盘通过软件改硬盘容量怎么改
  • 房地产企业所得税预提成本10%
  • 损益类科目月末结转到哪个科目
  • 个体户文化事业建设费免征
  • matlab绘图总结
  • yii框架入门
  • 报销钱大写数字
  • 治疗孩子咳嗽小秘方,超实用
  • yolov3图像识别
  • lvs命令详解
  • 推广费属于什么大类
  • 资金占用费怎么开票
  • 医疗报销发票是什么样的
  • python怎么自己写函数
  • 一般纳税人申请条件
  • 差旅费可以抵扣嘛
  • 支付宝付款对面知道名字吗
  • 待处理财产损益期末余额在哪方
  • 股东每年怎么分红
  • 使用mysql命令
  • 对公转账需要填备注吗
  • 个税申报可以去税务局吗
  • 金融资产经营资产
  • 银行存款和其他应付款不平怎么处理
  • 投资收益记账
  • 待报解预算收入什么意思
  • 企业汇算清缴必须要做审计吗
  • 无形资产怎么计算公式
  • 购买材料计入
  • 发票免税怎么做账
  • 企业所得税退税怎么操作
  • linux磁盘管理fdisk
  • WIN7系统如何设置表格默认保存位置
  • Windows tips小技巧
  • Node.js中的全局变量有哪些
  • vue分页组件page
  • 用jquery实现动态添加
  • ssh远程执行命令返回结果存成本地变量
  • unity3D关于公共安全内容制作
  • Unity3D游戏开发毕业论文
  • javascript bug
  • 一般纳税人开租赁费发票税率是多少
  • 大渡口在重庆吗
  • 合伙企业的税收较高
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设