android显示系统黄油计划
Android 显示系统黄油计划 Android 显示系统的黄油计划是 Android OS 开发团队为了解决 UI 显示不流畅的问题而推出的一个重要项目。该项目通过引入 VSYNC、Triple Buffer 和 Choreographer 三个核心元素来重构 Android Display 系统,解决了 Android 显示系统的重要问题。 一、背景知识介绍 Android OS 系统自诞生以来,始终在不断进化和完善。但是,直到 Android 4.0 版本,UI 显示不流畅的问题仍然未得到根本解决。 Android 在 Display 系统这块也下了不少功夫,例如,使用硬件加速等技术,但本质原因似乎和硬件关系并不大,因为 iPhone 的硬件配置并不比那些价格相近的 Android 机器的硬件配置强,而 iPhone UI 的流畅性强却是有目共睹的。 从 Android 4.1(版本代号为 Jelly Bean)开始,Android OS 开发团队便力图在每个版本中解决一个重要问题。作为严重影响 Android 口碑问题之一的 UI 流畅性差的问题,首先在 Android 4.1 版本中得到了有效处理。其解决方法就是 Project Butter。 二、Project Butter 介绍 Project Butter 对 Android Display 系统进行了重构,引入了三个核心元素,即 VSYNC、Triple Buffer 和 Choreographer。其中,VSYNC 是理解 Project Buffer 的核心。VSYNC 是 Vertical Synchronization(垂直同步)的缩写,是一种在 PC 上已经很早就广泛使用的技术。读者可简单地把它认为是一种定时中断。 VSYNC 的引入解决了 Android 显示系统中的两个问题:一是解决了 CPU 和 GPU 之间的同步问题,二是解决了 Display 显示帧 Rate 不均的问题。 三、VSYNC 工作方式 VSYNC 工作方式可以分为以下几个步骤: Display 分成 16ms 长度的时间段,在每一时间段中,Display 显示一帧数据(相当于每秒 60 帧)。时间段从 1 开始编号。 在没有 VSYNC 的情况下,CPU 和 GPU 会各自处理帧数据,导致 Display 显示帧率不均的问题。 引入 VSYNC 后,CPU 和 GPU 会在收到 VSYNC 中断时开始处理帧数据,解决了 CPU 和 GPU 之间的同步问题。 四、Triple Buffer 和 Choreographer 介绍 Triple Buffer 是 Project Butter 中的一个重要元素,它解决了 GPU 处理帧数据的速度不均的问题。Triple Buffer 的工作方式是:在 GPU 处理帧数据时,会将当前帧数据写入 Buffer 中,然后 CPU 会从 Buffer 中读取帧数据,最后 Display 会从 Buffer 中读取帧数据。 Choreographer 是 Project Butter 中的另一个重要元素,它负责管理 Android 显示系统中的所有资源,包括 CPU、GPU、Display 等。Choreographer 的工作方式是:它会根据当前的系统资源情况,动态地分配资源,来达到最优的显示效果。 五、结论 Android 显示系统的黄油计划是 Android OS 开发团队为了解决 UI 显示不流畅的问题而推出的一个重要项目。该项目通过引入 VSYNC、Triple Buffer 和 Choreographer 三个核心元素来重构 Android Display 系统,解决了 Android 显示系统的重要问题。该项目的推出,极大地改善了 Android 设备的显示效果,使得用户体验更加流畅和舒适。
剩余8页未读,继续阅读
- 粉丝: 0
- 资源: 20
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- CocosCreator源码资源SrcPackage2(6款源码合集)
- (源码)基于Spring Boot和Spring Cloud的权限管理系统.zip
- CocosCreator源码资源SrcPackage1(11款源码合集)
- (源码)基于Python和Kafka的微博热搜情感分析系统.zip
- 毕业设计《HTML5-Bootstrap-SSM校园导游咨询网(可升级SpringBoot)》+Java项目源码+文档说明
- (源码)基于Arduino的智能导盲犬系统.zip
- sentinel-dashboard的1.8.6版本集成nacos,对接gateway的限流
- CocosCreator源码资源Snaker(贪吃蛇 精品)
- (源码)基于C语言的智能仓库管理系统(IWMS).zip
- (源码)基于Unity的通用升级系统.zip