【架构分析】Fuchsia - Scenic 图形合成器工作原理

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-17 04:34   11   0

什么是Scenic

Scenic作为Fuchsia最重要Garnet Service之一,提供了包括图形合成,渲染,动画的图形系统功能

详细介绍请参考Google的官方文档Link

Bouncing Ball Example

Fuchsia提供了示例代码展示客户端应用进程如何使用Scenic提供的服务来绘制GUI和显示GUI 到屏幕上,本文试图通过时序图来说明Scenic图形系统与Client应用交互工作原理,包括

  • Scenic进程启动的初始化工作时序
  • BouncingBall示例应用与Scenic交互中Scenic进程中重要interface的工作时序
  • Fuchsia官网文档https://fuchsia.googlesource.com/fuchsia/+/master/docs/the-book/ui/life_of_a_pixel.md#life-of-a-pixel 的时序
  • Scenic Server端核心数据结构类图以及对应关系
BouncingBall示例应用与Scenic图形系统交互时序图

Scenic Server端核心数据结构类图

Server端的对应关系是:

  • 1个gfx Engine 对应 1个SceneGraph
  • 1个SceneGraph 对应 n个Compositor
  • 1个Compositor 对应 1个LayerStack
  • 1个LayerStack 对应 n个Layer
  • 1个Layer 对应 1个 Renderer
  • 1个Renderer 对应 1个Camera
  • 1个Camera 对应 1个Scene
  • 1个Scene 对应 n个child或者parts Nodes或者n个Light光照效果
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP