GPU 스레드 우선 순위를 설정합니다.
문법
HRESULT SetGPUThreadPriority(
INT Priority
);
매개 변수
Priority
형식: INT
필요한 GPU 스레드 우선 순위를 지정하는 값입니다. 이 항목의 설명 섹션을 참조하세요.
반환 값
성공하면 S_OK 반환합니다. 그렇지 않으면 Priority 매개 변수가 잘못된 경우 E_INVALIDARG 반환합니다.
비고
SetGPUThreadPriority 메서드를 사용하려면 GPU 예약을 포괄적으로 이해해야 합니다. 부적절하게 사용하는 경우 SetGPUThreadPriority 메서드는 렌더링 속도를 방해하고 사용자 환경이 저하될 수 있으므로 애플리케이션을 프로파일링하여 애플리케이션 및 시스템에 대한 우선 순위 변경의 영향을 이해합니다.
Priority 매개 변수 함수의 값은 다음과 같습니다. 우선 순위 값 비트 정의:
-
비트 0-4: 우선 순위 값
비트 5-29: 예약됨
비트 30: 절대 우선 순위 플래그(D3DKMT_SETCONTEXTSCHEDULINGPRIORITY_ABSOLUTE)는 우선 순위 값 비트 [4:0](Windows 10 이상에만 유효하고 다른 값은 사용되지 않음)로 ORed할 수 있습니다.
비트 31: 부호 있는 비트
비트 30(절대 우선 순위 플래그)을 사용하여 이 API에 대한 작업 모드를 제어할 수 있습니다.
상대 우선 순위 모드 : 비트 30 값이 0으로 설정된 경우 API는 이 모드를 사용합니다. 이 모드에서 우선 순위 값은 -7 7 사이여야 합니다. 여기서 우선 순위 값 0은 정상 우선 순위를 나타내고(모든 컨텍스트에 대한 기본값) -7 유휴 우선 순위를 나타냅니다. 비트 31은 우선 순위의 기호를 제어하는 데 사용됩니다.
절대 우선 순위 모드 : 비트 30 값이 1로 설정된 경우 API는 이 모드를 사용합니다. 이 모드에서 우선 순위 값(비트[4:0])은 0에서 31 사이여야 합니다. 이러한 우선 순위 수준의 의미는 아래에 설명되어 있습니다. dxgkrnl/그래픽 우선 순위를 철저히 이해하고 변경의 영향을 이해하는 경우에만 D3DKMT_SETCONTEXTSCHEDULINGPRIORITY_ABSOLUTE 사용합니다.
우선 순위 값 비트[4:0] 는 다음 우선 순위 값으로 변환됩니다.
-
0: 유휴 우선 순위 - 높은 우선 순위가 대부분의 가속기 시간을 사용하는 경우 전달 진행률이 보장되지 않습니다.
1 : 정상 우선 순위 - 대부분의 프로세스는 진행률 보장과 함께 이 우선 순위를 사용합니다.
2 -15 : 예약 -
16-29: 소프트 실시간 - 우선 순위가 낮아지고 주기적으로 낮은 우선 순위로 산출되어 앞으로 진행되도록 합니다.
30: 하드 실시간 - 매우 대기 시간이 중요한 잘 제한된 워크로드에 사용됩니다. 이 우선 순위는 우선 순위를 낮추지 않습니다.
31: 내부 사용
요구 사항
요구 사항 | 가치 |
---|---|
대상 플랫폼 | 윈도우즈 |
헤더 | dxgi.h |
라이브러리 | DXGI.lib |