D3D12DDI_BACKGROUND_PROCESSING_MODE_0062 열거형(d3d12umddi.h)

백그라운드 처리에 사용할 수 있는 동적 프로파일링 및 셰이더 다시 컴파일 수준을 나타냅니다.

기본적으로 런타임은 한 번에 최대 하나의 백그라운드 컴파일 작업을 예약하고 유휴 우선 순위로 실행하여 이 작업의 위험을 최소화하고 전경 렌더링에 결함을 도입합니다.

개발자 및 프로파일링 도구는 이러한 열거형 값의 조합을 사용하여 이 동작을 조정할 수 있습니다.

Syntax

typedef enum D3D12DDI_BACKGROUND_PROCESSING_MODE_0062 {
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED,
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS,
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK,
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING
} ;

상수

 
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED 드라이버가 선택한 방식으로 워크로드를 계측할 수 있는 기본 상태이며 우선 순위가 낮은 실행을 위해 CPU 작업(일반적으로 PSO 다시 컴파일)을 D3D 런타임에 제출할 수 있습니다. 이 모드의 목표는 전경 렌더링 성능에 영향을 주지 않고 동적 최적화를 사용하도록 설정하는 것입니다.
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS 드라이버가 결함 방지보다 계측의 풍요로움과 완전성을 우선시해야 한다는 힌트를 제공합니다. 현재 수행 중인 렌더링은 학습 목적으로 특별히 수행되고 있으며 일반적인 원활한 성능으로 실행할 필요가 없기 때문입니다.

이러한 종류의 중량 프로파일링은 PIX와 같은 분석 도구에서 사용됩니다. 또한 벤치마크에서 실제 성능 측정을 수행하기 전에 최적화 상태를 따뜻하게 하거나 적절한 시간에 게임에서 직접 사용할 수도 있습니다(예: 메뉴 뒤에 보이지 않는 콘텐츠를 렌더링하여 드라이버를 미리 학습).
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK 백그라운드 처리 작업의 실행을 방지합니다. 이 플래그를 처음 켜면 이미 진행 중인 모든 작업이 완료될 때 실행될 수 있습니다. UMD가 제출했지만 아직 실행을 시작하지 않은 작업은 취소되며, 이미 이 상태인 동안 QueueProcessingWorkCB 를 호출하면 취소 콜백이 즉시 호출됩니다.

물론 UMD는 사용하지 않도록 설정된 상태에서 작업 제출을 완전히 건너뛰도록 선택할 수 있지만, 작업을 제출하는 경우 UMD가 작업 제출과 모드 변경 간의 동기화를 방해하지 않도록 제출 작업에 실패하는 대신 런타임이 취소됩니다.

사용 안 함 플래그가 D3D12DDI_MEASUREMENTS_ACTION_0062_COMMIT_*를 지정하는 것과 동시에 켜져 있는 경우 커밋 요청에 대한 응답으로 UMD에서 생성하는 모든 새 작업은 사용 안 함을 적용하기 전에 실행할 수 있습니다.

비활성화 플래그는 개발자 모드를 사용하도록 설정한 경우에만 유효합니다.
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING
동적 셰이더 다시 컴파일을 일시 중단하는 것 외에도, 이는 드라이버가 동적으로 캐시 정책 튜닝 또는 컴퓨팅 디스패치 패턴과 같이 성능을 교란시키는 동작 변경을 피해야 했음을 나타냅니다. 이는 A/B 비교가 안정적인 타이밍 결과를 제공해야 하는 프로파일링 세션 중에 사용하기 위한 것입니다.

이 플래그는 개발자 모드를 사용하는 경우에만 유효합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1903
머리글 d3d12umddi.h