CompositorController CompositorController CompositorController CompositorController Class


Represents a compositor on which intended composition changes must be explicitly committed.

public : sealed class CompositorController : IClosable
struct winrt::Windows::UI::Composition::Core::CompositorController : IClosable
public sealed class CompositorController : IDisposable
Public NotInheritable Class CompositorController Implements IDisposable

Windows 10 requirements

Device family
Windows 10, version 1803 (introduced v10.0.17134.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v6)


The CompositorController lets you create and control a compositor on which you must explicitly commit your intended composition changes. This is in contrast to the compositor you obtain from a visual returned by a call to ElementCompositionPreview.GetElementVisual, for which commits occur implicitly without requiring a direct call.


CompositorController() CompositorController() CompositorController() CompositorController()

Initializes a new instance of the CompositorController class.


Compositor Compositor Compositor Compositor

Gets the compositor associated with this composition controller.


Close() Close() Close() Close()

Releases system resources that are used by the CompositorController.

Commit() Commit() Commit() Commit()

Calls commit on the compositor associated with this CompositorController.

Dispose() Dispose() Dispose() Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

EnsurePreviousCommitCompletedAsync() EnsurePreviousCommitCompletedAsync() EnsurePreviousCommitCompletedAsync() EnsurePreviousCommitCompletedAsync()

Ensures the previous commit was completed.


CommitNeeded CommitNeeded CommitNeeded CommitNeeded

Occurs when the framework needs to call Commit in order for changes to Composition objects to be reflected onscreen.