This protocol is geared toward building and manipulating one or more retained scene graphs, representing the contents of a single window or the entire desktop. The target of the protocol is a composition engine, attached to a vector-based rasterization (2) engine, that maintains a copy of the scene graph and automatically traverses it to produce one or more rasterizations as changes are made to the scene graph. The implementation of the composition engine is independent from the specification of this protocol. For instance, the protocol does not differentiate between a very simple composition engine, that re-rasterizes the entire scene graph any time any change is made, and a very complex engine, that includes detailed analysis of the scene graph that allows the composition engine to schedule the process of applying changes to the scene graph and re-rasterize only a minimal subset of the graph necessary to reflect the changes.
This protocol is hierarchical and based on the transport, connection, channel and resource concepts. The transport is the higher-level Dynamic Virtual Channel transport protocol that encapsulates this entire protocol. The Dynamic Virtual Channel transport protocol is specified in [MS-RDPEDYC] . The other terms—connection, channel, and resource--are described in detail in sections 1.3.1, 1.3.2, and 1.3.3.