README_zh.md
1# graphic_standard
2
3- [简介](#简介)
4- [目录](#目录)
5- [约束](#约束)
6- [编译构建](#编译构建)
7- [接口说明](#接口说明)
8- [使用说明](#使用说明)
9- [相关仓](#相关仓)
10
11## 简介
12
13**Graphic子系统** 提供了图形接口能力。
14
15其主要的结构如下图所示:
16
17
18
19OpenHarmony 图形栈的分层说明如下:
20
21• 接口层:提供图形的 NDK(native development kit,原生开发包)能力,包括:WebGL、Native Drawing的绘制能力、OpenGL 指令级的绘制能力支撑等。
22
23• 框架层:分为 Render Service、Drawing、Animation、Effect、显示与内存管理五个模块。
24| 模块 | 能力描述 |
25|------------------------|--------------------------------------------------------------------------------------------|
26| Render Servicel (渲染服务) | 提供UI框架的绘制能力,其核心职责是将ArkUI的控件描述转换成绘制树信息,根据对应的渲染策略,进行最佳路径渲染。同时,负责多窗口流畅和空间态下UI共享的核心底层机制。 |
27| Drawing (绘制) | 提供图形子系统内部的标准化接口,主要完成2D渲染、3D渲染和渲染引擎的管理等基本功能。 |
28| Animation (动画) | 提供动画引擎的相关能力。 |
29| Effect (效果) | 主要完成图片效果、渲染特效等效果处理的能力,包括:多效果的串联、并联处理,在布局时加入渲染特效、控件交互特效等相关能力。 |
30| 显示与内存管理 | 此模块是图形栈与硬件解耦的主要模块,主要定义了OpenHarmony 显示与内存管理的能力,其定义的南向HDI 接口需要让不同的OEM厂商完成对OpenHarmony图形栈的适配. |
31
32• 引擎层:包括 2D 图形库和 3D 图形引擎两个模块。2D 图形库提供 2D 图形绘制底层 API,支持图形绘制与文本绘制底层能力。3D 图形引擎能力尚在构建中。
33
34
35## 目录
36```
37foundation/graphic/standard/
38├── figures # Markdown引用的图片目录
39├── frameworks # 框架代码目录
40│ ├── animation_server # AnimationServer代码
41│ ├── bootanimation # 开机动画目录
42│ ├── dumper # graphic dumper代码
43│ ├── fence # fence代码
44│ ├── surface # Surface代码
45│ ├── vsync # Vsync代码
46├── rosen # 框架代码目录
47│ ├── build # 构建说明
48│ ├── doc # doc
49│ ├── include # 对外头文件代码
50│ ├── lib # lib
51│ ├── modules # graphic 子系统各模块代码
52│ ├── samples # 实例代码
53│ ├── test # 开发测试代码
54│ ├── tools # 工具代码
55├── interfaces # 图形接口存放目录
56│ ├── innerkits # 内部native接口存放目录
57│ └── kits # js/napi外部接口存放目录
58└── utils # 小部件存放目录
59```
60
61## 约束
62
63
64## 编译构建
65
66
67## 接口说明
68
69
70## 使用说明
71
72
73## 相关仓
74- **graphic_standard**
75- ace_ace_engine
76- aafwk_standard
77- multimedia_media_standard
78- multimedia_camera_standard
79- Window Manager
80