다음을 통해 공유


DisplayDevice.CreateSimpleScanoutWithDirtyRectsAndOptions 메서드

정의

DisplaySource에 프레임을 표시하는 데 필요한 매개 변수를 변경할 수 없는 캡슐화를 제공하는 DisplayScanout 개체를 만듭니다.

public:
 virtual DisplayScanout ^ CreateSimpleScanoutWithDirtyRectsAndOptions(DisplaySource ^ source, DisplaySurface ^ surface, unsigned int subresourceIndex, unsigned int syncInterval, IIterable<RectInt32> ^ dirtyRects, DisplayScanoutOptions options) = CreateSimpleScanoutWithDirtyRectsAndOptions;
DisplayScanout CreateSimpleScanoutWithDirtyRectsAndOptions(DisplaySource const& source, DisplaySurface const& surface, uint32_t const& subresourceIndex, uint32_t const& syncInterval, IIterable<RectInt32> const& dirtyRects, DisplayScanoutOptions const& options);
public DisplayScanout CreateSimpleScanoutWithDirtyRectsAndOptions(DisplaySource source, DisplaySurface surface, uint subresourceIndex, uint syncInterval, IEnumerable<RectInt32> dirtyRects, DisplayScanoutOptions options);
function createSimpleScanoutWithDirtyRectsAndOptions(source, surface, subresourceIndex, syncInterval, dirtyRects, options)
Public Function CreateSimpleScanoutWithDirtyRectsAndOptions (source As DisplaySource, surface As DisplaySurface, subresourceIndex As UInteger, syncInterval As UInteger, dirtyRects As IEnumerable(Of RectInt32), options As DisplayScanoutOptions) As DisplayScanout

매개 변수

source
DisplaySource

콘텐츠를 표시할 DisplaySource 입니다.

surface
DisplaySurface

기본 표면입니다.

subresourceIndex
UInt32

unsigned int

uint32_t

Direct3D의 하위 리소스 개념과 관련이 있습니다. 이 인덱스를 사용하여 여러 하위 리소스가 있는 경우 검사에 사용할 DisplaySurface 내의 하위 리소스를 지정할 수 있습니다.

여러 하위 리소스가 있는 DisplaySurface를 사용하는 유일한 방법은 isStereo 플래그(CreateWithProperties 참조)를 사용하여 DisplaySurface를 만들거나 IDisplayDeviceInterop에서 API를 사용하여 ID3D11Texture2D를 여는 것입니다.

subresourceindex에 대한 가장 일반적인 값은 0이며, 이는 하위 리소스가 필요하거나 사용할 수 없음을 나타냅니다.

syncInterval
UInt32

unsigned int

uint32_t

프레임의 프레젠테이션을 디스플레이의 세로 공백과 동기화하는 방법을 지정하는 정수입니다.

SyncInterval == 0. 디스플레이의 다음 세로 공백에서 프레젠테이션이 발생합니다. 큐에 값이 = 0인 다른 선물이 있는 경우 해당 선물은 삭제됩니다. SyncInterval == 0, DisplayScanoutOptions::AllowTearing. 프레젠테이션은 즉시 발생합니다. 이전 프레임과의 동기화가 없습니다. 이로 인해 가시적인 눈물이 발생할 수 있습니다. SyncInterval == 1~4. 디스플레이의 세로 공백 이 n 개 이상인 프레젠테이션을 동기화합니다.

dirtyRects

IIterable<RectInt32>

IEnumerable<RectInt32>

기본 영역이 변경되고 있음을 나타내는 그래픽 드라이버에 힌트를 제공하는 더티 사각형입니다. 드라이버에서 기본 디스플레이 전송에서 대역폭의 양을 줄이는 데 사용할 수 있으므로 프레임에서 변경된 모든 픽셀을 완전히 포함하는 유효한 사각형을 전달해야 합니다.

이는 최적화이며 DirectDisplay 클라이언트가 더티 사각형을 추적하지 않는 경우 dirtyRects를 전달할 null 수 있으며 운영 체제는 이를 전체 프레임 더티 간주합니다(기본 버퍼의 모든 픽셀이 수정됨). dirtyRects에 대한 빈 목록을 전달하면 기본 버퍼에서 픽셀이 변경되지 않았으며 그래픽 드라이버가 이 기본 버퍼의 스캔 아웃을 최적화하도록 선택할 수 있습니다.

options
DisplayScanoutOptions

생성되는 DisplayScanout에 대한 다양한 옵션을 지정할 수 있는 플래그입니다. DisplayScanoutOptions.AllowTearingsyncInterval 이 0인 경우에만 유효합니다.

반환

DisplayScanout 값입니다.

Windows 요구 사항

디바이스 패밀리
Windows 11 (10.0.22000.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v14.0에서 도입되었습니다.)

적용 대상