【架構分析】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端核心數據結構類圖以及對應關係
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光照效果
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章