Share via


ID3DX10ThreadPump::P rocessDeviceWorkItems 메서드

작업 항목이 로드 및 처리를 완료한 후 디바이스로 설정합니다. 스레드 펌프가 리소스 또는 셰이더 로드 및 처리를 완료하면 이 API가 호출될 때까지 큐에 보관됩니다. 이때 처리된 항목이 디바이스로 설정됩니다. 이는 각 프레임에 대해 디바이스에 리소스를 바인딩하는 데 사용되는 처리량을 제어하는 데 유용합니다. 설명을 참조하세요.

구문

HRESULT ProcessDeviceWorkItems(
  [in] UINT iWorkItemCount
);

매개 변수

iWorkItemCount [in]

형식: UINT

디바이스로 설정할 작업 항목의 수입니다. ProcessDeviceObjectCreation은 최대 iWorkItemCount 개체를 만듭니다. 큐에 iWorkItemCount 개체를 처리하기에 작업 항목이 충분하지 않은 경우 ProcessDeviceObjectCreation은 큐에 항목이 있는 만큼 많은 디바이스 개체를 만듭니다.

반환 값

형식: HRESULT

반환 값은 Direct3D 10 반환 코드에 나열된 값 중 하나입니다.

설명

이 API를 사용하는 방법의 예로, 게임에서 한 수준의 끝에 가까워지고 다음 레벨을 위해 텍스처, 셰이더 및 기타 리소스를 미리 로드하려고 합니다. 스레드 펌프는 디바이스로 설정할 준비가 될 때까지 별도의 스레드에서 리소스 및 셰이더를 로드, 압축 해제 및 처리하기 시작하며, 이때 큐에 남게 됩니다. 게임 성능이 일시적으로 느려질 수 있으므로 모든 리소스와 셰이더를 한 번에 디바이스로 설정하지 않을 수 있습니다. 따라서 이 API는 프레임당 한 번 호출될 수 있으므로 각 프레임에서 적은 수의 작업 항목만 디바이스로 설정되므로 여러 프레임에 걸쳐 디바이스에 바인딩 리소스의 작업 부하를 분산하고 게임 성능이 저하될 가능성을 최소화할 수 있습니다.

요구 사항

요구 사항
헤더
D3DX10.h
라이브러리
D3DX10.lib

추가 정보

ID3DX10ThreadPump

D3DX 인터페이스