ID3D11Device2::CreateDeferredContext2 메서드(d3d11_2.h)
명령 목록을 기록할 수 있는 지연된 컨텍스트를 만듭니다.
구문
HRESULT CreateDeferredContext2(
UINT ContextFlags,
[out, optional] ID3D11DeviceContext2 **ppDeferredContext
);
매개 변수
ContextFlags
형식: UINT
다음에 사용하도록 예약됩니다. 0을 전달합니다.
[out, optional] ppDeferredContext
형식: ID3D11DeviceContext2**
메서드가 완료되면 ID3D11DeviceContext2 인터페이스 포인터에 전달된 포인터가 초기화됩니다.
반환 값
형식: HRESULT
성공하면 S_OK 반환합니다. 그렇지 않으면 다음 중 하나를 반환합니다.
- 비디오 카드 시스템에서 물리적으로 제거되었거나 비디오 카드 대한 드라이버 업그레이드가 발생한 경우 DXGI_ERROR_DEVICE_REMOVED 반환합니다. 이 오류가 발생하면 디바이스를 삭제하고 다시 만들어야 합니다.
- 현재 컨텍스트에서 CreateDeferredContext2 메서드를 호출할 수 없는 경우 DXGI_ERROR_INVALID_CALL 반환합니다. 예를 들어 디바이스가 D3D11_CREATE_DEVICE_SINGLETHREADED 값으로 만들어진 경우 CreateDeferredContext2 는 DXGI_ERROR_INVALID_CALL 반환합니다.
- ContextFlags 매개 변수가 잘못된 경우 E_INVALIDARG 반환합니다.
- 앱에 사용 가능한 메모리가 모두 사용된 경우 E_OUTOFMEMORY 반환합니다.
설명
지연된 컨텍스트는 기본 렌더링 스레드가 아닌 스레드에서 그래픽 명령을 기록하는 데 사용할 수 있는 스레드로부터 안전한 컨텍스트입니다. 지연된 컨텍스트를 사용하여 ID3D11CommandList 인터페이스로 캡슐화된 명령 목록에 그래픽 명령을 기록할 수 있습니다. 모든 장면 항목을 기록한 후 최종 렌더링을 위해 기본 렌더링 스레드에 제출할 수 있습니다. 이러한 방식으로 여러 스레드에서 동시에 렌더링 작업을 수행하고 다중 코어 CPU 시나리오에서 성능을 향상시킬 수 있습니다.
여러 지연된 컨텍스트를 만들 수 있습니다.
참고D3D11_CREATE_DEVICE_SINGLETHREADED 값을 사용하여 디바이스를 만드는 경우 CreateDeferredContext2 는 DXGI_ERROR_INVALID_CALL 실패하고 지연된 컨텍스트를 만들 수 없습니다.
요구 사항
지원되는 최소 클라이언트 | Windows 8.1 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2012 R2 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | d3d11_2.h |
라이브러리 | D3D11.lib |
추가 정보
ID3D11Device1::CreateDeferredContext1