다음을 통해 공유


SurfaceImageSource 클래스

정의

그릴 Microsoft DirectX 공유 화면을 제공하고 비트를 앱 콘텐츠로 구성합니다.

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SurfaceImageSource : ImageSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class SurfaceImageSource : ImageSource
Public Class SurfaceImageSource
Inherits ImageSource
상속
Object IInspectable DependencyObject ImageSource SurfaceImageSource
파생
특성

설명

이 클래스는 Microsoft DirectX 콘텐츠가 그렇지 않으면 XAML로 구성된 UI 내에서 그릴 수 있는 Microsoft DirectX 상호 운용을 위한 표시 영역입니다. SurfaceImageSource의 한 가지 고려 사항은 Microsoft DirectX 콘텐츠를 통합할 수 있지만 렌더링 주기는 여전히 XAML 중심이라는 것입니다. 이 렌더링 모델에서 너무 많은 Microsoft DirectX 그리기를 사용하면 대기 시간이 발생하거나 응답성이 저하될 수 있습니다. Microsoft DirectX 콘텐츠에 대해 많은 수의 다시 그리기가 예상되고 주변 XAML UI 없이 해당 콘텐츠를 전체 화면으로 표시하려는 경우 SwapChainBackgroundPanel 기술을 대신 사용해야 할 것입니다. 전체 화면이 아닌 콘텐츠의 또 다른 대안은 백그라운드 스레드의 별도 스크래치 화면에 렌더링한 다음 UI 스레드의 BeginDraw 반환된 화면에 콘텐츠를 복사하는 것입니다. 이렇게 하면 메모리 사용량이 늘어나면 UI 스레드의 차단을 해제할 수 있습니다.

샘플 코드를 포함하여 SurfaceImageSource에 그리는 방법에 대한 자세한 내용은 DirectX 및 XAML interop참조하세요.

이 클래스에는 추가 API가 있지만 이러한 API는 Microsoft DirectX 상호 운용을 위한 것이며 이 설명서에 설명된 일반 앱 프로그래밍 모델의 일부가 아닙니다. 예를 들어 Microsoft DirectX 쪽에서 beginDraw호출할 수 있습니다.

SurfaceImageSource 파생 클래스

SurfaceImageSource는 VirtualSurfaceImageSource부모 클래스입니다.

생성자

SurfaceImageSource(Int32, Int32, Boolean)

그리기 영역의 크기와 불투명도가 항상 전체 불투명도로 예상되는지 여부를 지정하여 SurfaceImageSource 클래스의 새 인스턴스를 초기화합니다. SurfaceImageSource 투명도를 지원하지 않아야 하는 경우 isOpaque=true 사용합니다. 이렇게 하면 성능이 향상 될 수 있습니다.

SurfaceImageSource(Int32, Int32)

그리기 영역의 크기를 지정하여 SurfaceImageSource 클래스의 새 인스턴스를 초기화합니다.

속성

Dispatcher

항상 Windows 앱 SDK 앱에서 null 반환합니다. 대신 DispatcherQueue 사용합니다.

(다음에서 상속됨 DependencyObject)
DispatcherQueue

이 개체가 연결된 DispatcherQueue 가져옵니다. 이 DispatcherQueue 비 UI 스레드에서 코드를 시작한 경우에도 UI 스레드의 DependencyObject 액세스할 수 있는 기능을 나타냅니다.

(다음에서 상속됨 DependencyObject)

메서드

ClearValue(DependencyProperty)

종속성 속성의 로컬 값을 지웁니다.

(다음에서 상속됨 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

애니메이션이 활성화되지 않은 경우 적용되는 종속성 속성에 대해 설정된 기본 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
GetValue(DependencyProperty)

DependencyObject종속성 속성의 현재 유효 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
ReadLocalValue(DependencyProperty)

로컬 값이 설정된 경우 종속성 속성의 로컬 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

DependencyObject 인스턴스에서 특정 DependencyProperty 변경 내용을 수신 대기하기 위한 알림 함수를 등록합니다.

(다음에서 상속됨 DependencyObject)
SetValue(DependencyProperty, Object)

DependencyObject종속성 속성의 로컬 값을 설정합니다.

(다음에서 상속됨 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback호출하여 이전에 등록된 변경 알림을 취소합니다.

(다음에서 상속됨 DependencyObject)

적용 대상

추가 정보