graphic android systhem
This is a spec which introduce the android system for graphic. it's useful for the graphic engineers. ### 关于Android图形系统的关键知识点 #### 一、Android图形系统的概述 在“Android Graphics System”这份文档中,我们能够了解到Android系统对于图形处理的基本架构和技术实现方式。这对于图形工程师来说是一个非常有价值的参考资料,它详细介绍了Android系统如何管理和优化图形性能。 #### 二、Android 2.2 Froyo中的图形组件 文档中提到了几个关键的图形组件,包括`SurfaceFlinger`、`Libagl`(OpenGLES 1.1)、`pixelflinger`、`Copybit`、`2D gfx Engine`等。这些组件在Android 2.2 Froyo版本中的功能如下: - **SurfaceFlinger**:负责窗口和用户界面的绘制与管理。在2.2版本中,它通过OpenGLES 1.1来实现3D图形引擎的功能。 - **Libagl (OpenGLES 1.1)**:提供了一个软件实现的3D渲染管道,支持OpenGLES 1.1标准。 - **pixelflinger**:由JIT代码生成加速的库,支持2D图形复制加速。 - **Copybit**:定义在`hardware/libhardware/include/hardware/copybit.h`中,用于执行矩形位图复制操作。支持常见的32/16位RGB和YCbCr颜色格式,并可以进行翻转、旋转等变换操作。 - **2D gfx Engine**:基于CPU/SIMD加速的2D矢量图形库,用于2D形状、图像和字体的渲染。 #### 三、Skia与Libagl的角色 - **Skia**:这是一个纯软件实现的2D矢量图形库,不支持3D引擎或OpenGLES加速。它被广泛应用于2D图形的绘制,包括形状、图像和字体的渲染。 - **Libagl**:理论上可以完全被OEM厂商的驱动堆栈替换,但实际上这个替换是否可行取决于具体硬件的支持情况。 #### 四、Android 2.1优化 文档提到,在Android 2.1版本中进行了以下优化: - **JIT for JVM/Dalvik**:为Java虚拟机和Dalvik虚拟机提供了即时编译器。 - **Hardware Accelerate Copybit**:通过硬件加速Copybit操作。 - **JIT for pixelflinger**:对pixelflinger进行了即时编译优化。 - **SIMD for Skia**:利用SIMD指令集对Skia进行了加速。 #### 五、性能表现 根据文档提供的数据,Android 2.1版本在720p分辨率下能够达到60fps的流畅度,适用于大多数应用和浏览器,但对于游戏来说可能细节不够丰富。 #### 六、Android 4.0的变化 - **Copybit in libagl**:自2010年7月30日起,Android 4.0不再支持libagl中的Copybit功能。 - **OpenGLES 2.0 Support**:增加了对OpenGLES 2.0的支持。 - **High-level Render Scripts Support**:基于LLVM提供高级的Render Scripts支持,支持3D渲染和计算任务。 - **Skia with GPU Backend**:Skia现在也有了GPU后端支持。 #### 七、Android 4.0 Graphics API - **Canvas and Drawables**:通过Skia提供的Canvas和Drawables支持。 - **Hardware Acceleration**:只针对2D图形加速。 - **OpenGL ES**:支持ES 1.1和ES 2.0,可以通过Java封装或者NDK使用原生代码调用。 - **Animation**:虽然文档中没有明确提到动画支持的具体细节,但考虑到其他更新,可以推测Android 4.0在动画方面也有一定的提升。 这份文档为我们展示了Android图形系统从2.2到4.0版本的发展历程,以及各个版本中图形处理的关键技术和优化方法。这对于理解Android图形系统的架构和演变过程具有重要的参考价值。
剩余15页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助