1.1 Glossary

This document uses the following terms:

client: A computer on which the remote procedure call (RPC) client is executing.

compose desktop mediator: The component responsible for interacting with the sprite manager on the top end and with the Remote Desktop Protocol, as specified in [MS-RDPBCGR], on the bottom end. The compose desktop mediator receives events regarding changes to the composition mode and to the sprite manager. It then creates PDUs to send over the network.

composed mode: In this mode, drawing operations are first rendered to in-memory redirection surfaces. Later, the compositor uses these surfaces to compose the desktop image and render to the screen or primary display device.

composition: An activity the compositor performs that entails using a sprite tree, a geometrical description of a scene, and composition properties to generate a final scene on a rendering device.

desktop composition: The composition of a sprite tree that represents the desktop with nodes representing the sprites.

desktop switch: The act of switching from one user desktop to another, or to the Windows Secure Desktop.

Desktop Window Manager (DWM): A server-side application that is responsible for building a sprite tree that includes all the sprites in the current desktop. The Desktop Window Manager uses a compositor to produce the final representation of the screen.

drawing operation: The process of changing visual data stored on a surface manager or redirection surface.

drawing order: A synthetic representation of an operation that causes a change in the content of a surface.

logical surface: A 64-bit numerical ID that uniquely identifies a surface that is meant to be composed with the rest of the desktop. The surface is allocated and populated externally to the composition engine. The composition engine uses this ID to obtain surface contents and receive surface update notifications.

non-composed mode: In this mode, drawing operations are rendered directly to the screen or primary display device.

redirection surface: The component responsible for maintaining a second set of display data for a graphical user interface (GUI). This second set of display data is manipulated in the background, and sent as a static data set to a surface manager to allow for a smoother display. This process is known as double-buffering.

server: A computer on which the remote procedure call (RPC) server is executing.

sprite: A top-level contained entity on a windowing system, such as a window, cursor, pop-up menu, or outline-drag. Sprites are entities allocated by the server's window management system, and are meant to describe compositional properties of surfaces. Sprites are most often associated with windows, but they can also be free-floating. For example, a windowless sprite might be used to hold an image of the mouse cursor.

sprite manager: The component responsible for the creation, destruction, and property association of sprites.

sprite tree: The logical hierarchical representation of a set of sprite elements.

surface: A part of system or video memory containing color data for a rectangular array of pixels.

surface manager: The component responsible for maintaining the display data for a graphical user interface (GUI).

surface manager proxy: The component running in the terminal services client that is responsible for interacting with the surface manager and a compositor on the top end, and with the Remote Desktop Protocol, as specified in [MS-RDPBCGR], implementation on the bottom end.

MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.