Changes between Version 34 and Version 35 of CoordinatedGraphicsSystem
- Timestamp:
- Mar 7, 2017, 9:36:33 AM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CoordinatedGraphicsSystem
v34 v35 143 143 '''[/browser/trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp CoordinatedLayerTreeHostProxy]''' is what binds together the viewport, the GPU renderer and the contents. It doesn't have functionality of its own, instead it acts as a message hub between those components. 144 144 145 '''[/browser/trunk/Source/WebKit2/ UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp LayerTreeRenderer]''' is the class that knows how to turn serialized information from the web process and viewport information from the view classes into a GPU-renderable tree of TextureMapperLayers. It maintains a map of layer IDs to layers,145 '''[/browser/trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp CoordinatedGraphicsScene]''' is the class that knows how to turn serialized information from the web process and viewport information from the view classes into a GPU-renderable tree of TextureMapperLayers. It maintains a map of layer IDs to layers, 146 146 147 147 … … 194 194 == [#=QtScenegraph QtScenegraph integration] == 195 195 To integrate WebKit coordinated graphics with the QtScenegraph, the following main things were necessary: 196 1. Making LayerTreeRendererthread-safe, so it can run in QtScenegraph's rendering thread.196 1. Making CoordinatedGraphicsScene thread-safe, so it can run in QtScenegraph's rendering thread. 197 197 1. Use a private API from QtScenegraph (QSGRenderNode) which allows us to render WebKit's layer tree without rendering into an intermediate FBO. 198 198 1. Synchronize the remote content coming from the UI process at a time that is right for QtScenegraph. 199 1. Propagate the clipping, transform and opacity attributes from QtScenegraph to LayerTreeRenderer.199 1. Propagate the clipping, transform and opacity attributes from QtScenegraph to CoordinatedGraphicsScene. 200 200 1. Render the view's background. 201 201 202 The class that handles most of this is [/browser/trunk/Source/WebKit2/UIProcess/qt/QtWebPageSGNode.cpp QtWebPageSGNode]. Its main function, “render”, is used to translate QtScenegraph parameters to LayerTreeRenderer parameters. The SG node contains 3 nodes - a root node that controls the viewport transform, a background node, and a custom contents node which renders the actual web contents using LayerTreeRenderer.202 The class that handles most of this is [/browser/trunk/Source/WebKit2/UIProcess/qt/QtWebPageSGNode.cpp QtWebPageSGNode]. Its main function, “render”, is used to translate QtScenegraph parameters to CoordinatedGraphicsScene parameters. The SG node contains 3 nodes - a root node that controls the viewport transform, a background node, and a custom contents node which renders the actual web contents using CoordinatedGraphicsScene. 203 203 Some other functionality is in QQuickWebPage::updatePaintNode. 204 204