2012-04-11 3 views
1

내 응용 프로그램은 20 개 이상의보기 포트를 처리해야하며 16 개만 허용됩니다. 고맙게도 전체 장면은 뷰포트가 10보다 작은 각 뷰포트가 "누설되지"않는 여러 부분으로 나눌 수 있습니다.RSSetViewports는 Direct3D 11에서 비동기식 또는 동기식으로 호출합니까?

이제보기 포트 배열을 변경하는 것이 좋을지 문제가 있습니다. 렌더링 중간에 (허용되지만). 내 생각 엔, * RS * SetViewports는 비동기 적이어야하며 렌더링 도중에 안전하게 호출 될 수 있다고 생각합니다. 그러나 어떤 증거도 찾을 수 없었습니다.

답변

2

예 RSSetViewports는 GPU 명령 버퍼에 비동기 적으로 실행되도록 작성되는 일반 그래픽 상태 명령이므로 프레임 당 여러 번 설정하는 데 문제가 없으며 GPU를 기다릴 때 CPU를 차단하지 않습니다 실행이 완료되었습니다.

상태가 없으므로지도 호출 (D3D11_MAP_FLAG_DO_NOT_WAIT 제외)과 같은 명시 적 작업 만 차단하고 GPU를 기다립니다.

관련 문제