다음을 통해 공유


ID3D11Device::CreateDeferredContext 메서드(d3d11.h)

명령 목록을 기록할 수 있는 지연된 컨텍스트를 만듭니다.

구문

HRESULT CreateDeferredContext(
                  UINT                ContextFlags,
  [out, optional] ID3D11DeviceContext **ppDeferredContext
);

매개 변수

ContextFlags

형식: UINT

다음에 사용하도록 예약됩니다. 0을 전달합니다.

[out, optional] ppDeferredContext

형식: ID3D11DeviceContext**

메서드가 완료되면 ID3D11DeviceContext 인터페이스 포인터에 전달된 포인터가 초기화됩니다.

반환 값

형식: HRESULT

성공하면 S_OK 반환합니다. 그렇지 않으면 다음 중 하나를 반환합니다.

  • 비디오 카드 시스템에서 물리적으로 제거되었거나 비디오 카드 대한 드라이버 업그레이드가 발생한 경우 DXGI_ERROR_DEVICE_REMOVED 반환합니다. 이 오류가 발생하면 디바이스를 삭제하고 다시 만들어야 합니다.
  • 현재 컨텍스트에서 CreateDeferredContext 메서드를 호출할 수 없는 경우 DXGI_ERROR_INVALID_CALL 반환합니다. 예를 들어 디바이스가 D3D11_CREATE_DEVICE_SINGLETHREADED 값으로 만들어진 경우 CreateDeferredContextDXGI_ERROR_INVALID_CALL 반환합니다.
  • ContextFlags 매개 변수가 잘못된 경우 E_INVALIDARG 반환합니다.
  • 애플리케이션에 사용 가능한 메모리가 소진된 경우 E_OUTOFMEMORY 반환합니다.

설명

지연된 컨텍스트는 기본 렌더링 스레드가 아닌 스레드에서 그래픽 명령을 기록하는 데 사용할 수 있는 스레드로부터 안전한 컨텍스트입니다. 지연된 컨텍스트를 사용하여 ID3D11CommandList 인터페이스로 캡슐화된 명령 목록에 그래픽 명령을 기록할 수 있습니다. 모든 장면 항목이 기록된 후 최종 렌더링을 위해 기본 렌더링 스레드에 제출할 수 있습니다. 이러한 방식으로 여러 스레드에서 동시에 렌더링 작업을 수행하고 다중 코어 CPU 시나리오에서 성능을 향상시킬 수 있습니다.

여러 지연된 컨텍스트를 만들 수 있습니다.

참고D3D11_CREATE_DEVICE_SINGLETHREADED 값을 사용하여 ID3D11Device로 표시되는 디바이스를 만드는 경우 CreateDeferredContext 메서드가 실패하고 지연된 컨텍스트를 만들 수 없습니다.
 
지연된 컨텍스트에 대한 자세한 내용은 직접 실행 및 지연된 렌더링을 참조하세요.

Windows Phone 8: 이 API가 지원됩니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d11.h
라이브러리 D3d11.lib

추가 정보

ID3D11Device

ID3D11Device1::CreateDeferredContext1

ID3D11Device2::CreateDeferredContext2

ID3D11Device3::CreateDeferredContext3