컴퍼지션 엔진

시각적 업데이트를 추진하려면 애플리케이션에서 IDirectManipulationCompositor를 사용해야 합니다. 이 개체는 직접 조작 업데이트를 기반으로 시각적 개체를 업데이트하고, 관성 업데이트를 진행하며, 직접 조작에 컴퍼지션 타이밍 정보를 제공하는 작업을 담당합니다. 또한 애플리케이션은 직접 조작에서 제공하는 DCompManipulationCompositor를 사용해야 합니다. 그러면 애플리케이션을 대신하여 모든 시각적 업데이트를 처리하고 관성 업데이트를 구동합니다.

DCompManipulationCompositorDirectComposition을 래핑하는 IDirectManipulationCompositor 인터페이스의 구현입니다. 애플리케이션이 출력을 적용하는 대신 이 작성자 개체 를 통해 직접 조작 은 DirectComposition 트리에서 직접 변환을 설정하여 출력을 적용할 수 있습니다. 이 구성을 사용하면 입력을 처리할 수 있으며 UI 스레드의 활동에 관계없이 출력 변환을 적용할 수 있습니다.

컴퍼지션 엔진의 타이밍에 대한 직접 조작 정보를 제공하기 위해 DCompManipulationCompositor 클래스는 IDirectManipulationFrameInfoProvider 인터페이스를 구현합니다. 뷰포트를 만들 때 QueryInterfaceIDirectManipulationFrameInfoProvider의 instance 대한 CoCreateInstance에서 가져온 IDirectManipulationCompositor 포인터입니다. IDirectManipulationFrameInfoProvider 포인터는 IDirectManipulationManager::CreateViewport() 함수에 전달됩니다.