Android图形子系统
图形操作可以有两种方式实现:一是利用通用CPU模拟图形操作;二是利用GPU专门做图形操作。前者会增加CPU的负担,在现在高分辨率已经是普遍现象的时候,让通用处理器来完成大量的图形计算已经不现实。Android图形系统的发展过程也验证了这一观点。
为了达到高效的图形处理效果,是必须紧密结合软件和硬件的。这篇文章主要介绍跟Android的图形子系统。以后可能会对这些主题进行更加深入的探讨。
Android图形系统的软件构成
下面的示意图,展示了Android上负责图形处理的软件模块。
GPU专门设计用于加速图形操作。GPU不同于CPU,它的一个设计目的就是高度的并行化,并行化是大部分图形计算的共同特征。
Skia是一组2D绘图的API,它完全通过软件实现。由于性能方面的原因,Skia逐渐被HWUI所替代。
Renderscript在Froyo和Gingerbread上也存在,但是不是公开的API。只有Android的一些wallpaper使用了它。那时它的实现也非常粗糙,功能有限。
硬件合成器是Honeycomb引入的一个HAL,SurfaceFlinger使用它,利用硬件资源来加速Surface的合成,比如3D GPU和2D的图形引擎。
可以看出,Android的图形系统在不断的调整,目的是为了提供更加快速流畅的UI体验。这就是Android版本中图形相关代码变动很大的原因。
原文参考:http://developer.mips.com/2012/04/11/learning-about-android-graphics-subsystem/
转载于:https://www.cnblogs.com/zsw-1993/p/4879988.html
Android图形子系统相关推荐
- android子系统,Android图形子系统详解
图形操作可以有两种方式实现:一是利用通用CPU模拟图形操作:二是利用GPU专门做图形操作.前者会增加CPU的负担,在现在高分辨率已经是普遍现象的时候,让通用处理器来完成大量的图形计算已经不现实.And ...
- Android/Linux 子系统Graphics图形栈入门普法介绍
Android/Linux 子系统Graphics图形栈入门普法介绍 写在最前面 由于工作原因,最近在公司做了一个关于Android/Linux 子系统Graphics图形栈入门相关知识的 ...
- Linux图形子系统
转载网址:http://www.wowotech.net/graphic_subsystem/graphic_subsystem_overview.html 前言 图形子系统是linux系统中比较复杂 ...
- Android 图形系统概述
Android framework 为2D 和 3D 提供了各种各样的图形渲染 APIs 来与设备制造商的图形驱动实现交互,因此对于那些 API 在上层如何工作有一个好的理解非常重要.这一页介绍驱动基 ...
- Android P 图形显示系统(九) Android图形显示子系统概述
文章目录 图形系统 显示系统 Buffer管理 显示系统的架构 从应用的角度理解Android Android图形显示子系统概述 Android图形显示系统,是Android比较重要的一个子系统,和很 ...
- Android 图形驱动初始化
从应用程序的角度看 OpenGL 图形系统的接口,主要包括两大部分,一部分是 EGL,它为 OpenGL 渲染准备环境:另一部分是 OpenGL,它执行图形渲染.通过这些接口构造渲染环境,并执行渲染的 ...
- Android 图形架构
每一个开发者都应该了解的关于 Surface,SurfaceHolder,EGLSurface,SurfaceView,GLSurfaceView,SurfaceTexture,TextureView ...
- Android Input子系统-含实例源码
Android Input子系统-含实例源码 1 Input子系统作用 Android很多外设都是用到输入输出设备,比如touchscreen,键盘,音量键等,输入 设备对应Android 框架是An ...
- Android 图形驱动初始化(二十三)
从应用程序的角度看 OpenGL 图形系统的接口,主要包括两大部分,一部分是 EGL,它为 OpenGL 渲染准备环境:另一部分是 OpenGL,它执行图形渲染.通过这些接口构造渲染环境,并执行渲染的 ...
最新文章
- 计算机类东北大学和大连理工,东北大学VS大连理工大学,谁才是第一,辽宁本地考生也两难...
- Caffe源码解析5:Conv_Layer
- 在windows server 2012R2中安装域服务
- 谷歌浏览器同步功能无法加载_谷歌浏览器Chrome 86正式发布,全新重磅功能上线——密码检查...
- 常见的 HTTP 状态代码及原因
- 负margin使用注意的一个问题
- tushare下载股票历史数据
- DirectX修复工具
- 云​大数据和计算技术周报(第43期)
- 我的年终奖发了!你呢???
- 将C盘的软件已经移到了D盘,为什么C盘还是会出现变红或饱满的状态?
- Ext 4 概述(一)
- 调用批处理bat文件
- 通达OA使用手册(一)
- 试编写程序,利用前、中序序列或者后、中序序列唯一确定一棵二叉树。
- 读书笔记:司马迁《史记》之货殖列传
- uplload 通关纪实 pass1
- Informatica的FTP功能如何使用|infa怎么实现ftp文件自动上传
- IAR 使用中遇到的问题
- py04 内置类型 序列 数字 字符串操作 列表 不可变性
热门文章
- nginx重写rewrite的[emerg] unknown directive
- 《Javascript高级程序设计》读书笔记之对象创建
- Windows2008系统忘记密码的解决方法
- 世界-中国-省-市-县 天气预报
- 电脑 计算机服务打不开怎么办理,电脑xlsx打不开怎么办
- 在XCode中使用SVN
- Unity3D研究院之C#使用Socket与HTTP连接服务器传输数据包
- CTF web题总结--爆破用户名密码
- python中对象和变量的关系_浅析python中的类变量和对象变量
- python to_excel_Pandas DataFrame.to_excel()用法详解