DXGI 1.2 개선 사항
다음 기능이 Microsoft DXGI(DirectX Graphics Infrastructure) 1.2에 추가되었습니다.
프레젠테이션 향상 및 최적화
DXGI 1.2는 더티 사각형 및 스크롤된 영역을 지정하는 새로운 플립 모델 스왑 체인, 콘텐츠 보호, 창 없는 프레젠테이션 및 최적화된 프레젠테이션으로 프레젠테이션을 향상시킵니다. 스테레오스코픽 3D 디스플레이 동작으로 프레젠테이션도 향상되었습니다.
향상된 프레젠테이션을 위해 다음 DXGI 1.2 API를 사용할 수 있습니다.
- IDXGIDisplayControl::IsStereoEnabled
- IDXGIDisplayControl::SetStereoEnabled
- IDXGIFactory2::CreateSwapChainForHwnd
- IDXGIFactory2::CreateSwapChainForCoreWindow
- IDXGIFactory2::CreateSwapChainForComposition
- IDXGIFactory2::IsWindowedStereoEnabled
- IDXGIFactory2::RegisterStereoStatusWindow
- IDXGIFactory2::RegisterStereoStatusEvent
- IDXGIFactory2::UnregisterStereoStatus
- IDXGIFactory2::RegisterOcclusionStatusWindow
- IDXGIFactory2::RegisterOcclusionStatusEvent
- IDXGIFactory2::UnregisterOcclusionStatus
- IDXGIOutput1::GetDisplayModeList1
- IDXGIOutput1::GetDisplaySurfaceData1
- IDXGIOutput1::FindClosestMatchingMode1
- IDXGIResource1::CreateSubresourceSurface
- IDXGISurface2::GetResource
- IDXGISwapChain1::GetDesc1
- IDXGISwapChain1::GetFullscreenDesc
- IDXGISwapChain1::GetHwnd
- IDXGISwapChain1::GetCoreWindow
- IDXGISwapChain1::Present1
- IDXGISwapChain1::IsTemporaryMonoSupported
- IDXGISwapChain1::GetRestrictToOutput
- IDXGISwapChain1::SetBackgroundColor
- IDXGISwapChain1::GetBackgroundColor
- IDXGISwapChain1::SetRotation
- IDXGISwapChain1::GetRotation
향상된 프레젠테이션을 위해 DXGI 1.2 API를 사용하는 방법에 대한 자세한 내용은 대칭 이동 모델, 더티 사각형 및 스크롤된 영역으로 프레젠테이션 향상을 참조하세요.
스테레오로 렌더링할 수 있는지 여부를 결정하는 방법에 대한 자세한 내용은 스테레오로 렌더링 및 스테레오 상태 대한 알림을 참조하세요.
앱의 폐색 상태 변경 내용을 확인하는 방법에 대한 자세한 내용은 렌더링이 필요하지 않을 때 이벤트 대기를 참조하세요.
화면에 콘텐츠를 표시할 때 데이터 값이 어떻게 변경되는지에 대한 자세한 내용은 색 공간에 대한 데이터 변환을 참조하세요.
데스크톱 중복
Windows 8 표준 Windows 2000 XDDM(디스플레이 드라이버 모델) 미러 드라이버를 사용하지 않도록 설정합니다. DXGI 1.2는 데스크톱 중복 API를 대안으로 제공합니다. 데스크톱 중복 API는 협업 시나리오를 위해 데스크톱 이미지에 대한 원격 액세스를 제공합니다.
데스크톱 중복 API는 다음 방법으로 구성됩니다.
- IDXGIOutput1::D uplicateOutput
- IDXGIOutputDuplication::GetDesc
- IDXGIOutputDuplication::AcquireNextFrame
- IDXGIOutputDuplication::GetFrameDirtyRects
- IDXGIOutputDuplication::GetFrameMoveRects
- IDXGIOutputDuplication::GetFramePointerShape
- IDXGIOutputDuplication::MapDesktopSurface
- IDXGIOutputDuplication::UnMapDesktopSurface
- IDXGIOutputDuplication::ReleaseFrame
데스크톱 중복 API를 사용하는 방법에 대한 자세한 내용은 데스크톱 중복 API를 참조하세요.
공유 리소스 및 동기화된 이벤트의 사용 개선
이전 버전의 Windows에서 앱은 연속 폴링을 사용하여 GPU(그래픽 처리 장치)가 임의 명령 처리를 완료했는지 여부를 확인합니다. DXGI 1.2를 사용하면 앱이 DXGI 디바이스에 이벤트를 큐에 대기할 수 있습니다. 그런 다음 앱은 DXGI 디바이스가 이벤트에 신호를 전송하여 GPU가 모든 렌더링 명령 실행을 완료했는지 확인할 때까지 기다릴 수 있습니다. DXGI 1.2를 사용하면 여러 디바이스가 NT 핸들을 통해 리소스를 공유할 수 있습니다.
다음 DXGI 1.2 API 및 Direct3D 11.1 API를 사용하여 리소스를 공유하고 이벤트를 동기화할 수 있습니다.
- IDXGIDevice2::EnqueueSetEvent
- IDXGIResource1::CreateSharedHandle
- IDXGIFactory2::GetSharedResourceAdapterLuid
- ID3D11Device1::OpenSharedResource1
- ID3D11Device1::OpenSharedResourceByName
- D3D11_RESOURCE_MISC_SHARED_NTHANDLE
리소스의 비디오 메모리 제공
DXGI 1.2를 사용하면 앱이 오버헤드가 낮은 리소스의 비디오 메모리를 제공할 수 있습니다. 운영 체제는 비디오 메모리를 제공하여 비디오 메모리를 해제할 수 있습니다.
이 DXGI 1.2 기능은 다음 방법으로 구성됩니다.
ID3D11Debug::SetFeatureMask 메서드를 사용하여 앱에서 IDXGIDevice2::OfferResources 및 IDXGIDevice2::ReclaimResources 메서드의 동작을 디버그하는 기능 마스크 플래그를 설정할 수 있습니다.
WDDM 1.2 드라이버 모델의 세분성 수준에서 GPU 선점
WDDM(Windows 디스플레이 드라이버 모델) 1.2 드라이버 모델부터 WDDM 스케줄러는 GPU의 애플리케이션 작업 실행을 보다 세부적인 수준에서 선점할 수 있습니다. DXGI 1.2를 사용하면 GPU 선점 세분성 수준을 확인할 수 있습니다.
이 DXGI 1.2 기능은 다음 메서드로 구성됩니다.
디버깅 API
Windows 8 SDK는 추가 디버깅 기능을 제공합니다. Dxgidebug.dll 다음 DXGI API를 사용하여 앱을 디버그할 수 있습니다.
DXGIGetDebugInterface에 액세스하려면 GetModuleHandle 함수를 호출하여 Dxgidebug.dll, GetProcAddress 함수를 호출하여 DXGIGetDebugInterface의 주소를 가져옵니다. 그런 다음 DXGIGetDebugInterface 를 호출하여 IDXGIDebug 또는 IDXGIInfoQueue 인터페이스를 가져올 수 있습니다.
DirectX 앱을 원격으로 디버그하는 방법에 대한 자세한 내용은 DirectX 앱 원격 디버깅을 참조하세요.