`

Android display架构分析(六)

 
阅读更多

http://hi.baidu.com/leowenj/blog/item/78c068dc443c961f48540361.html

 

Android display架构分析(六)

 

Surface manager 介绍

Note

本部分介绍的完全是用户空间显示部分的架构,与 kernel 并没有直接的联系,主要是 JNI 以下到 HAL 以上的部分。

1、 Surface manager surface flinger )简介

Surface manager 是用户空间中frameworklibraries 中负责显示相关的一个模块。如下:


    当系统 同时执行多个应用程序时, Surface Manager 会负责管理显示与存取操作间的互动,另外也负责将 2D 绘图与 3D 绘图进行显示上的合成。

    surface manager 可以准备一块 surface (可以看作一个layer ),把 surface fd ( 一块内存) 传给一个 app ,让 app 可以在上面作画。 典型应用如下:



2、Surface manager 架构分析

Android 中的图形系统采用 Client/Server 架构 ,如下:

Client :应用程序相关部分。 代码分为两部分,一部分是由 Java 提供的供应用使用的 api, 另一部分则是由 c++ 写成的底层实现

Server SurfaceFlinger ,负责合成并送入buffer 显示。其 主要由 c++ 代码编写而成。

Client Server 之前通过Binder IPC 方式进行通信,总体结构图如下:

 

    如上图所示, Surface client 部分其实是提供给各应用程序进行画图操作的一个桥梁,该桥梁通过 binder 通向 server 端的 Surfaceflinger Surfaceflinger 负责合成各个 surface ,然后把 buffer 传送到 framebuffer 端进行底层显示。其中每个 surface 对应 2 buffer 一个front buffer, 一个back buffer ,更新时,数据更新在back buffer 上,需要显示时,则将back bufferfront buffer 互换。

    下一部分我们重点研究一下Surfaceflinger

 

 

分享到:
评论

相关推荐

    Android display架构分析

    高通7系列的硬件架构是Android Display架构的重要组成部分,主要包括以下几个部分: 1. **MDP (Mobile Display Processor)** - MDP是高通MSM7200A内部的一个模块,主要负责显示数据的转换和部分图像处理功能,例如...

    android__display框架分析

    ### Android Display 框架分析 #### 一、硬件架构分析 ##### 高通7系列硬件架构概述 根据所提供的信息,我们重点分析高通7系列的Display硬件架构,特别是MSM7200A平台。 - **A、MDP (Mobile Digital Processor)*...

    Android显示框架详细分析

    《Android显示框架详细分析》 Android显示框架是一个复杂的系统,涉及到硬件架构、软件架构和流程设计等多个方面。本文将深入探讨这些关键知识点,以便更好地理解Android设备如何呈现图像和视频内容。 首先,让...

    Android wifi display功能优化

    本文将从架构图、代码分析和优化建议三个方面对Android WiFi Display功能进行深入分析和讨论。 一、架构图 Android WiFi Display功能的架构图分为两部分,一部分为控制部分,另一部分为数据部分。控制部分通过TCP...

    android wifi display 分析

    ### Android Wifi Display (Miracast) 核心分析 #### 一、概述 在深入探讨Android平台上关于**Wifi Display**(通常称为Miracast)的相关技术之前,我们需要明确几个概念。**Wifi Display**是一种无线显示标准,...

    windriver针对android多媒体架构

    ### Windriver针对Android多媒体架构分析 #### Android多媒体架构概述 Windriver在2009年第一次Android技术大会上针对Android系统的多媒体架构进行了深入的探讨与分析。Android作为一个开放且灵活的操作系统,其...

    全志 H5 android linux display 驱动

    本文将详细探讨全志H5在Android/Linux环境下如何实现display驱动。 一、全志H5显示硬件架构 全志H5集成了GPU(图形处理器),如Mali400或Mali-G31,用于处理复杂的2D和3D图形任务。此外,它还包含LCD控制器,用于与...

    android显示框架分析

    ### Android显示框架分析 #### 一、硬件架构分析:高通7系列 高通7系列的显示硬件架构主要包括以下几个关键组件: 1. **MDP (Mobile Display Processor)**:这是高通MSM7200A内部的一个核心模块,主要职责在于...

    android原生setting分析

    在深入探讨Android原生设置(Setting)的分析之前,我们需要先理解Android系统的基本结构。Android是一个基于Linux内核的操作系统,其应用程序主要由Java编写,使用Android SDK进行开发。原生设置应用(Settings)是...

    Android下WiFiDisplay功能探究.docx编程资料

    [WiFiDisplay技术支撑架构](#) #### 二、WiFiDisplay的重要标准及标准 WiFi联盟制定了Miracast支持的视/音频格式标准,包括但不限于: - **显示格式**:如VGA、WXGA、720p、1080p等。 - **视频格式**:如H.264、...

    Android的系统架构

    ### Android的系统架构详解 #### 一、应用层 (Applications) **应用层**是指由Java编写的、运行在Dalvik虚拟机上的程序。这一层主要包括了预装的应用程序,例如联系人管理、邮件客户端等。此外,开发者也可以利用...

    android的核心分析

    GDI(Graphics Display Interface)是Android图形子系统的核心部分,负责管理和渲染图形内容。显示缓冲管理确保了图形内容的高效更新。 #### AndroidGDI之共享缓冲区机制 共享缓冲区机制使得多个应用程序能够安全...

    0001-Android-Settings-displaySettings_RK3288_

    在Android系统中,"Settings"模块是用户与设备设置交互的核心部分,而"Display settings"则是其中至关重要的一环,它涵盖了屏幕亮度、显示分辨率、屏幕方向等与视觉体验相关的选项。"0001-Android-Settings-display...

    android核心分析

    ### Android核心分析——设计意图与方法论探讨 #### 一、设计意图的探索 在深入研究Android之前,首要任务是理解其背后的设计理念。对于一个跨平台开发者而言,熟悉并掌握Android的核心概念至关重要。Android引入...

    android原生setting分析(修改版).doc

    ### Android原生设置应用架构概览 - **存储位置**:Android自带的应用程序位于`packages/apps`目录下,其中包括资源文件(`res`)、源代码(`src`)和测试代码(`tests`),以及用于编译的`Android.mk`和应用程序...

    Android主要机制深入分析

    - **GDI显示缓冲管理**:Graphics Display Interface(GDI)是Android图形系统的核心,负责屏幕显示效果的渲染。 - **共享缓冲区机制**:为了提高图像渲染效率,Android采用了共享缓冲区技术。 - **SurfaceFlinger**:...

    Android_Framework详细分析

    通过对 Android Framework 的详细分析,我们可以更深刻地理解 Android 操作系统的架构设计和技术特点。从设计者的意图出发,通过抽象思考和逐步深入源代码,我们可以更好地把握 Android 的精髓所在。无论是对于初学...

    Android核心分析

    《Android核心分析》系列文章深度剖析了Android操作系统的关键组成部分与设计思想,对于理解Android系统架构、工作机制以及开发原理具有重要价值。以下是对该系列文章各部分的详细知识点总结: ### 设计意图与方法...

    Android核心分析(pdf)

    - **GDI简介:** GDI(Graphics Display Interface)是Android图形显示的核心组件,负责图形渲染和显示管理。 - **总体框架:** 描述GDI的整体架构,包括SurfaceFlinger、Surface和Canvas等关键组成部分。 **显示...

Global site tag (gtag.js) - Google Analytics