1 简介
标准系统提供了图形接口能力和窗口管理接口能力, 支持应用程序框架子系统和ACE等子系统使用。故可以根据不同硬件系统选择编译不同模块,选择适配轻量系统或者标准系统。图形子系统主要包括UI组件、布局、动画、字体、输入事件、窗口管理、渲染绘制等模块。
以下主要分析标准系统能力。代码版本是OpenHarmony3.1版本。
开机动画是鸿蒙系统启动后,运行的第一个和图形渲染相关的进程,相关依赖相对独立便于分析,是分析图形子系统比较好的切入点。图形子系统主要依赖窗口、surface、render service。
目录
./foundation/graphic
|-- standard
| |-- figures
| |-- frameworks # 框架代码目录
| | |-- animation_server
| | |-- bootanimation # 开机动画
| | |-- dumper
| | |-- fence
| | |-- surface # 渲染表面
| | |-- vsync
| | |-- wm
| | |-- wmserver
| | |-- wmservice
| |-- interfaces
| | |-- innerkits
| | `-- kits
| |-- rosen
| | |-- build
| | |-- doc
| | |-- include
| | |-- lib
| | |-- modules
| | | |-- 2d_graphics # 2维图形
| | | |-- animation # 动画
| | | |-- composer # 渲染合成器
| | | |-- effect
| | | |-- render_service # 渲染服务端
| | | |-- render_service_base # 渲染基础能力
| | | |-- render_service_client # 渲染客户端
| | | `-- utils
| | `-- tools
| `-- utils
|-- surface
|-- ui
Graphic子系统 提供了图形接口能力和窗口管理接口能力, 支持应用程序框架子系统和ACE等子系统使用。支持所有运行标准系统的设备使用。
其主要的结构如下图所示:
-
Surface
图形缓冲区管理接口,负责管理图形缓冲区和高效便捷的轮转缓冲区。依赖Display driver开辟buffer及buffer管理。
-
Vsync Client
垂直同步信号管理接口,负责管理所有垂直同步信号注册和响应。
-
WindowManager
窗口管理器接口,负责创建和管理窗口。
-
IPC/RPC通信
进程间通信协议,支持渲染客户端和服务端建立连接、申请buffer、刷新buffer等
-
Render Service ohos
render service适配ohos的部分,属于render service的基础能力,其中适配了ohos的render service client及IPC代理能力
-
Compositor
图像合成送显,依赖Display driver和Surface,管理buffer及送显。