提交 c36633a0 编写于 作者: 李政 提交者: lz-230

update graphic readme

Signed-off-by: Nlz-230 <lizheng2@huawei.com>
上级 4f69277c
......@@ -16,7 +16,7 @@
- [相关仓](#section11578621131119)
图形子系统主要包括UI组件、布局、动画、字体、输入事件、窗口管理、渲染绘制等模块,构建基于轻量OS应用框架满足硬件资源较小的物联网设备或者构建基于标准OS的应用框架满足富设备(如平板和轻智能机等)的OpenHarmony系统应用开发。
图形子系统主要包括UI组件、布局、动画、字体、输入事件、窗口管理、渲染绘制等模块,构建基于轻量OS应用框架满足硬件资源较小的物联网设备或者构建基于标准OS的应用框架满足富设备的OpenHarmony系统应用开发。
## 1.1 轻量系统<a name="section1346303311377"></a>
......@@ -76,61 +76,52 @@ graphic\_utils
### 简介<a name="section1374615251510"></a>
**Graphic子系统** 提供了图形接口能力和窗口管理接口能力, 支持应用程序框架子系统和ACE等子系统使用。支持所有运行标准系统的设备使用
**图形子系统** 提供了图形接口能力
其主要的结构如下图所示:
![](figures/zh-cn_image_0000001115748590.png)
![图形子系统架构图](figures/graphic_rosen_architecture.jpg)
- Surface
OpenHarmony 图形栈的分层说明如下:
图形缓冲区管理接口,负责管理图形缓冲区和高效便捷的轮转缓冲区
• 接口层:提供图形的 NDK(native development kit,原生开发包)能力,包括:WebGL、Native Drawing的绘制能力、OpenGL 指令级的绘制能力支撑等
- Vsync
• 框架层:分为 Render Service、Drawing、Animation、Effect、显示与内存管理五个模块。
| 模块 | 能力描述 |
|------------------------|--------------------------------------------------------------------------------------------|
| Render Servicel (渲染服务) | 提供UI框架的绘制能力,其核心职责是将ArkUI的控件描述转换成绘制树信息,根据对应的渲染策略,进行最佳路径渲染。同时,负责多窗口流畅和空间态下UI共享的核心底层机制。 |
| Drawing (绘制) | 提供图形子系统内部的标准化接口,主要完成2D渲染、3D渲染和渲染引擎的管理等基本功能。 |
| Animation (动画) | 提供动画引擎的相关能力。 |
| Effect (效果) | 主要完成图片效果、渲染特效等效果处理的能力,包括:多效果的串联、并联处理,在布局时加入渲染特效、控件交互特效等相关能力。 |
| 显示与内存管理 | 此模块是图形栈与硬件解耦的主要模块,主要定义了OpenHarmony显示与内存管理的能力,其定义的HDI接口需要让不同的OEM厂商完成对OpenHarmony图形栈的适配. |
垂直同步信号管理接口,负责管理所有垂直同步信号注册和响应。
- WindowManager
窗口管理器接口,负责创建和管理窗口。
- WaylandProtocols
窗口管理器和合成器的通信协议。
- Compositor
合成器,负责合成各个图层。
- Renderer
合成器的后端渲染模块。
- Wayland protocols
Wayland 进程间通信协议
- Shell
提供多窗口能力
- Input Manager
多模输入模块,负责接收事件输
• 引擎层:包括2D图形库和3D图形引擎两个模块。2D图形库提供2D图形绘制底层API,支持图形绘制与文本绘制底层能力。3D图形引擎能力尚在构建中。
### 目录<a name="section16751364713"></a>
```
foundation/graphic/standard/
├── figures # Markdown引用的图片目录
├── frameworks # 框架代码目录
│ ├── animation_server # AnimationServer代码
│ ├── bootanimation # 开机动画目录
│ ├── dumper # graphic dumper代码
│ ├── fence # fence代码
│ ├── surface # Surface代码
│ ├── vsync # Vsync代码
│ └── wm # WindowManager代码
├── interfaces # 对外接口存放目录
│ ├── innerkits # native接口存放目录
│ └── kits # js/napi接口存放目录
├── rosen # 框架代码目录
│ ├── build # 构建说明
│ ├── doc # doc
│ ├── include # 对外头文件代码
│ ├── lib # lib
│   ├── modules # graphic 子系统各模块代码
│   ├── samples # 实例代码
│   ├── test # 开发测试代码
│   ├── tools # 工具代码
├── interfaces # 图形接口存放目录
│   ├── innerkits # 内部native接口存放目录
│   └── kits # js/napi外部接口存放目录
└── utils # 小部件存放目录
```
......@@ -140,12 +131,6 @@ foundation/graphic/standard/
### 编译构建<a name="section883114292070"></a>
可以依赖的接口有:
- graphic\_standard:libwms\_client
- graphic\_standard:libsurface
- graphic\_standard:libvsync\_client
### 说明<a name="section1351214227564"></a>
参考各仓README以及test目录
......@@ -154,13 +139,9 @@ foundation/graphic/standard/
**图形子系统**
graphic\_standard
ace\_ace\_engine
aafwk\_standard
multimedia\_media\_standard
multimedia\_camera\_standard
- ace_ace_engine
- aafwk_standard
- multimedia_media_standard
- multimedia_camera_standard
- Window Manager
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册