Android graphics(一) 框架

藏宝库编辑 2024-9-9 19:48:34 89 0 来自 中国
一、概要

android graphic图形体现体系,android体系最核心功能之一。本文以分析graphic团体框架为主。终极以知道图形体现体系怎样工作为目标。方向于先容根本和概念
谷歌这张图中有四个重要脚色:要体现的页面、buffer queue、surfacefinger、hwcomposer
要体现的页面
安卓体现的一个页面一样寻常包罗:statusbar、app、natigationbar;这三个分别对应一个window。window render(绘制)的时间,是render在surface上的。
要体现的页面通过window告诉surfaceflinger创建surface来绘图,这个surface就是一个layer(layer的核心就是buffer queue)。
体现的重要三种方式
1、通过canvas绘制体现,2、通过OpenGL ES渲染体现(通过软件大概GPU)。3、Vulkan android7.0开始NDK支持,开源2D和3D绘图引擎
surfacefinger和HWC
surfacefinlger把layer(buffer queue)的list告知HWC(hwcomposer),HWC标志layer并告诉sufaceflinger是overlay照旧OpenGL ES方式绘制。surfaceflinger得到list后只处理处罚OpenGL ES的绘制,把这些会集成为一个buffer queue再发给HWC。HWC末了再一起合成体现到display上。
二、软件架构

2.png 我们可以今后图清楚的看到图像渲染过程中,各个模块的一个关系图。
第一条路:和第一节概要中的流程一样,寻常页面都是通过window绘制到surface
第二条路:非体系寻常组件提供的方式会直接和native层的surface交互,直接提供buffer data
不管数据流怎么形成,末了流到surfaceflinger设置HWC同一渲染出图形
本文以理清整个图形架构脉络为核心,本文暂未完成,还会继续更新。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-23 19:38, Processed in 0.145629 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表