美文网首页
布局渲染流程与优化,CPU,GPU过渡绘制分析

布局渲染流程与优化,CPU,GPU过渡绘制分析

作者: __素颜__ | 来源:发表于2019-04-19 17:03 被阅读0次

前言

Android面试的时候经常会问到,你怎么做布局的优化,一般都会答减少嵌套,布局层级不能嵌套太深,那么布局为什么不能嵌套太深呢,什么导致布局层级嵌套过程而UI卡顿呢,它的原理是什么?这篇文章深入理解布局渲染流程与布局优化。

一.CPU与GPU

CPU是电脑的大脑、中央处理器,因此CPU的任务繁多,做逻辑计算外,还要做内存管理,显示操作,因此在实际运算的时候性能会大大折扣,在没有GPU 的时代不能显示复杂的图形,其运算速度远跟不上今天复杂的三维游戏的要求,及时CPU 的工作频率超过2GHz或更高,对它绘制图形提高也不打。这时GPU设计就出来了,CPU会通过某种方式将图形相关任务一些交给GPU处理。


image.png image.png

蓝色的Control为控制器,用于协调控制整个CPU的运行,包括取出指令,控制其他模块的运行等;

蓝色的ALU是算术逻辑单元,用于进行数学、逻辑运算;

橙色的Cache和DRAM分别为缓存和RAM,用于存储信息;

CPU的控制较为复杂,而ALU数量较少,因此CPU擅长各种复杂的逻辑运算,但不擅长数学尤其是浮点运算

为什么说ALU进行数学逻辑运算,则比较擅长UI的显示呢?

显示器显示缓画面的时候进行的是像素的转化,比如红色变成绿色,红色是FF0000,绿色是00FF00十六进制颜色码,那如果说要变色是不是就意味着计算十六进制的改变

二.XML布局显示到屏幕的流程

image.png

栅格化:就是把图像放大到每一个小格子,GPU就是把这一个一个小格子展示到显示器上。

image.png

为什么是在16ms内完成呢?

image.png image.png

卡顿原理分析(16ms主要被两件事占用)
1.将UI对象转换成多边形和纹理
2.CPU传递数据到GPU,GPU进行绘制

如何减少这里部分时间
1.CPU减少xml转换成对象的时间
2.GPU减少重复绘制(GPU很傻)

三.什么是过渡绘制

image.png

三.查看过渡绘制的工具

手机->开发者选项->调试GPU过渡绘制


image.png image.png

相关文章

  • 布局渲染流程与优化,CPU,GPU过渡绘制分析

    前言 Android面试的时候经常会问到,你怎么做布局的优化,一般都会答减少嵌套,布局层级不能嵌套太深,那么布局为...

  • 性能优化02-布局优化

    性能优化02-布局优化 一、CPU与GPU 1、定义 为什么要了解CPU与GPU呢?因为布局绘制就是CPU与GPU...

  • UI绘制优化

    一、CPU与GPU的工作流程 二、卡顿原因分析 三、实战解决过度优化 四、过度绘制优化(主要减少GPU工作量) 1...

  • 浅谈性能优化-CPU与GPU布局渲染

    1.CPU与GPU工作流程2.卡顿原因分析3.Hierarchy Viewr工具的使用4.实战解决过渡优化 CPU...

  • iOS性能优化

    iOS性能优化 1.CPU 对象的创建,销毁 布局计算 文本排版 图片编解码 图像的绘制2.GPU 纹理的渲染...

  • 性能优化之UI绘制优化

    UI绘制优化 一.CPU与GPU工作流程 cpu:中央处理器(用于计算) gpu:图形处理器(用于显示) C...

  • 图像显示原理

    CPU工作 1、Layout:UI布局,文本计算2、Display:绘制3、图片解码4、提交位图 GPU 渲染管线...

  • 性能优化(二,UI绘制优化)

    GPU渲染流程 我们要做UI绘制优化,首先要了解GPU的绘制流程.即问题产生的原因,APP为什么会出现画面的卡顿和...

  • iOS底层原理之性能优化

    文章目录 CPU和GPU 卡顿优化 - CPU 卡顿优化 - GPU 离屏渲染 耗电 耗电优化 APP的启动 AP...

  • Android绘制机制

    UI面是怎么显示到屏幕上的? Android视图显示流程是先绘制(CPU的工作)在渲染(GPU)的工作CPU负责把...

网友评论

      本文标题:布局渲染流程与优化,CPU,GPU过渡绘制分析

      本文链接:https://www.haomeiwen.com/subject/kmrvvqtx.html