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

什么是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端核心数据结构类图以及对应关系
【架构分析】Fuchsia - Scenic 图形合成器工作原理_第1张图片 BouncingBall示例应用与Scenic图形系统交互时序图

 

【架构分析】Fuchsia - Scenic 图形合成器工作原理_第2张图片 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光照效果

你可能感兴趣的:(【架构分析】Fuchsia - Scenic 图形合成器工作原理)