目录

  • 1 相关知识点
  • 2 渲染机制
    • 2.1 渲染流程
  • 参考文章

1 相关知识点

  • CPU:中央处理器,它集成了运算、缓冲、控制单元包括绘图功能等。CUP将对象处理为多维图形、纹理(Bitmaps,Drawables等都是一起打包到统一的纹理)。
  • GPU:一个类似于CPU的专门用来处理图形的处理器,作用是用来帮助快速栅格化操作,GPU也有相应的缓存数据(例如缓存已经栅格化的bitmap等)机制。
  • OpenGL ES:是手持嵌入式设备的3DAPI,跨平台的、功能完善的2D和3D图形应用程序接口API,有一套固定渲染管线流程。
  • DisplayList:在Android设备上将XML布局文件转化成GPU能够识别并绘制的对象。这个操作是在DisplayList的帮助下完成的。DisplayList持有所有将要交给GPU绘制到屏幕上的数据信息。
  • 栅格化:是将图片等矢量资源转化为一格格像素点的像素图,然后显示在屏幕上。过程如图1.1所示。
     
    图1.1 栅格化过程
  • 垂直同步Vsycn:Vsync是Vertical Synchronization的缩写,可以简单理解成一种定时中断。App在Vsync结束的时间点绘制画面,也是在这个时间点SurfaceFlinger进行画面合成,这种机制消除了卡顿,提高了图形的视觉表现。垂直同步机制下的绘制过程如下图1.2所示。
     
    图1.2 Vsync机制下的绘制过程

每个Vsync的时间间隔大约是16.6ms,渲染操作通常依赖两个核心组件:CUP与GPU。CUP负责包括measure,layout,record,execute的计算操作,GPU负责Rasterization(栅格化)操作。栅格化就是解决XML布局文件和标记语言,使之转化为用户能看懂的图像,但是这不是直接转换的,XML布局文件需要在CPU中首先转化为多边形或者纹理,然后再传递给GPU进行栅格化,栅格化跟OpenGL有关,16ms的时间主要被两件事情占用,第一件:将UI对象转换为一系列多边形和纹理;第二件:CPU传递处理数据给GPU,然后GPU进行栅格化。

2 渲染机制

2.1 渲染流程

UI对象---->CPU处理为多维图形,纹理 -----通过OpeGL ES接口调用GPU----> GPU对图进行光栅化(Frame Rate ) ---->硬件时钟(Refresh Rate)----垂直同步---->投射到屏幕

参考文章

https://blog.csdn.net/houliang120/article/details/50908098
https://www.jianshu.com/p/1ef2a9e5aa91

Android屏幕渲染相关推荐

  1. android屏幕渲染机制

    优化性能一般从渲染,运算与内存,电量三个方面进行,今天开始说聊一聊Android的渲染机制,我们要知道Android系统每隔16ms就重新绘制一次Activity,也就是说,我们的应用必须在16ms内 ...

  2. Android 系统(186)---最易懂的Android屏幕适配解决方案--总结版

    最易懂的Android屏幕适配解决方案--总结版 本文参考自: Google的官方权威适配文档 郭霖:Android官方提供的支持不同屏幕大小的全部方法 Stormzhang:Android 屏幕适配 ...

  3. android屏幕适配教程,Android屏幕适配方案,android屏幕适配

    Android屏幕适配方案,android屏幕适配 文章转载禁止用于商业用途,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处莫高雷草原以及作者@JiongBull. Android屏幕适配方 ...

  4. Android 屏幕刷新机制

    本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 这次就来梳理一下 Android 的屏幕刷新机制,把我这段时间因为研究动画而梳理出来的一些关于屏幕刷新方面的知识点分享出来,能力有限 ...

  5. 2022金九银十Android大厂面试题来袭,面试字节跳动被问Android屏幕适配方案

    前言 我最近在筹备Android面试的相关文章,我发现,Framework是一个十分重要的点,被不少大厂所看重. 如图,这是我们的一个技术交流群里面的对话↓↓↓ 前阵子我写的Android技术文里面, ...

  6. 关于Android Framework渲染机制,你需要学习哪些?

    聊到Android的渲染流程部分,部分Android开发脑海中估计又会想起面试官在面试时提出的那些死亡面试题: Android渲染的整体架构是怎样的? Android渲染的生产者包括哪些?Skia与O ...

  7. android屏幕刷新显示机制

    title: android屏幕刷新显示机制 tags: 新建,模板,小书匠 grammar_cjkRuby: true android屏幕刷新显示机制 前言 本文是通过阅读各种文章及代码,总结出来的 ...

  8. Android开发:最全面、最易懂的Android屏幕适配解决方案

    目录 Android屏幕适配解决方案.png 定义 使得某一元素在Android不同尺寸.不同分辨率的手机上具备相同的显示效果 相关重要概念 屏幕尺寸 含义:手机对角线的物理尺寸 单位:英寸(inch ...

  9. Android UI 渲染机制的演进,你需要了解什么?

    前言 如今UI 渲染可能是诸多性能问题中最容易被察觉到的,Android 开发既要面对各式各样的手机屏幕尺寸和分辨率,还要与"凶残"的产品和 UI 设计师过招. 在正确实现复杂.炫 ...

最新文章

  1. R创建透视表(Pivot Tables)
  2. 堆,栈,内存泄露,内存溢出介绍
  3. 解决JQuery AutoComplete在IE9下出错的问题
  4. 群晖 内置mysql_群晖DS218+部署mysql
  5. 第七章 PX4-Pixhawk-Mavlink解析
  6. javascript读取用户名和计算机名
  7. 支付宝核心工程师谈如何成为一名优秀的程序员?
  8. eclipse中svn检出项目,项目名上带有红色感叹号
  9. python小白从哪来开始-小白学python(1)——从selenium开始
  10. Redis集群环境搭建
  11. HTML5期末大作业:在线电影app网页设计——电影票务购票系统WebApp手机模板(12页) HTML+CSS+JavaScript 计算机毕设网页设计源码
  12. 从论文pdf中复制粘贴文字时,空格变成回车的解决方法
  13. 【EntityFramework CodeFirst 】错误解析:LINQ to Entities does not recognize the method ToString
  14. 疫情肆虐下,程序员们都在哪里?
  15. 苹果MFi认证协处理器(MFI337S3959)公钥证书分析
  16. pygame交换式拼图设计
  17. 职场语录:新人,没人会告诉你的职场潜规则
  18. 新闻文化建设杂志新闻文化建设杂志社新闻文化建设编辑部2022年第14期目录
  19. 被奇安信青睐的火绒 究竟有着怎样的魔力?
  20. 考研计算机300分什么水平,2020考研成绩达到300分是什么水平?

热门文章

  1. java framemaker教程_《FreeMarker教程-笔录》
  2. eclipse编写web.xml中出现The word ‘...‘ is not correctly spelled
  3. rk3566 HDMI 热插拔HDMI显示无信号
  4. ssm个人微空间图片相册共享系统
  5. java xml 大文件怎么打开_JAVA xml 流方式读取。数据挖掘大文件预处理。
  6. 《Gartner2016年度新兴技术成熟度曲线》全解读
  7. 今日新闻快报 新闻快讯摘要10条
  8. python实验楼工资计算器_挑战:完善工资计算器
  9. from flask._compat import text_type ModuleNotFoundError: No module named ‘flask._compa‘
  10. IP协议详解之IPv6头部结构简介