D3DCREATE

디바이스 만들기 동작을 제어하는 하나 이상의 플래그 조합입니다.

#define Description
D3DCREATE_ADAPTERGROUP_DEVICE 애플리케이션은 이 master 어댑터가 소유한 모든 헤드를 드라이브하도록 디바이스에 요청합니다. 플래그가 비마스터 어댑터에서 잘못되었습니다. 이 플래그를 설정하면 CreateDevice 에 전달된 프레젠테이션 매개 변수가 D3DPRESENT_PARAMETERS 배열을 가리킵니다. D3DPRESENT_PARAMETERS 요소 수는 D3DCAPS9구조체 의 NumberOfAdaptersInGroup 멤버가 정의한 어댑터 수와 같아야 합니다. DirectX 런타임은 각 요소를 D3DCAPS9 AdapterOrdinalInGroup 멤버가 지정한 숫자 순서로 각 헤드에 할당합니다.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT Direct3D는 드라이버 대신 리소스를 관리합니다. 비디오 메모리 부족과 같은 리소스 오류에 대해 Direct3D 호출이 실패하지 않습니다.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX D3DCREATE_DISABLE_DRIVER_MANAGEMENT 마찬가지로 Direct3D는 드라이버 대신 리소스를 관리합니다. D3DCREATE_DISABLE_DRIVER_MANAGEMENT 달리 D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX 비디오 메모리 부족과 같은 조건에 대한 오류를 반환합니다.
D3DCREATE_DISABLE_PRINTSCREEN 런타임이 인쇄 화면, Ctrl-Printscreen 및 Alt-Printscreen 대한 핫키를 등록하지 않도록 하여 바탕 화면 또는 창 콘텐츠를 캡처합니다.
Direct3D 9와 Direct3D 9Ex 간의 차이점:
이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.

 

D3DCREATE_DISABLE_PSGP_THREADING 계산을 기본 애플리케이션 스레드로 제한합니다. 플래그가 설정되지 않은 경우 런타임은 다중 프로세서 시스템의 성능을 향상시키기 위해 작업자 스레드에서 소프트웨어 꼭짓점 처리 및 기타 계산을 수행할 수 있습니다.
Windows XP와 Windows Vista의 차이점:
이 플래그는 Windows Vista, Windows Server 2008 및 Windows 7에서 사용할 수 있습니다.

 

D3DCREATE_ENABLE_PRESENTSTATS 디바이스에서 현재 통계를 수집할 수 있도록 합니다. GetPresentStatistics에 대한 호출은 유효한 데이터를 반환합니다.
Direct3D 9와 Direct3D 9Ex 간의 차이점:
이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.

 

D3DCREATE_FPU_PRESERVE Direct3D 부동 소수점 계산의 전체 자릿수를 호출 스레드에서 사용하는 전체 자릿수로 설정합니다. 이 플래그를 지정하지 않으면 Direct3D는 다음 두 가지 이유로 기본적으로 단정밀도 라운드 투 근사 모드로 설정됩니다.
  • 배정밀도 모드는 Direct3D 성능을 감소시킵니다.
  • Direct3D의 일부에서는 부동 소수점 단위 예외가 마스킹된다고 가정합니다. 이러한 예외를 마스킹 해제하면 정의되지 않은 동작이 발생할 수 있습니다.
D3DCREATE_HARDWARE_VERTEXPROCESSING 하드웨어 꼭짓점 처리를 지정합니다.
D3DCREATE_MIXED_VERTEXPROCESSING 혼합(소프트웨어 및 하드웨어) 꼭짓점 처리를 지정합니다. Windows 10 버전 1607 이상에서는 이 설정을 사용하지 않는 것이 좋습니다. D3DCREATE_SOFTWARE_VERTEXPROCESSING 참조하세요.
D3DCREATE_SOFTWARE_VERTEXPROCESSING 소프트웨어 꼭짓점 처리를 지정합니다. Windows 10 버전 1607 이상에서는 이 설정을 사용하지 않는 것이 좋습니다. D3DCREATE_HARDWARE_VERTEXPROCESSING 사용합니다.

참고:
하드웨어 꼭짓점 처리를 사용할 수 없는 한 Windows 10 버전 1607 이상 버전에서는 소프트웨어 꼭짓점 처리를 사용하지 않는 것이 좋습니다. 소프트웨어 꼭짓점 처리의 효율성이 크게 감소하면서 구현의 보안이 향상되었기 때문입니다.

 
D3DCREATE_MULTITHREADED 애플리케이션이 Direct3D를 다중 스레드로부터 안전하게 보호하도록 요청했음을 나타냅니다. 이렇게 하면 Direct3D 스레드가 글로벌 중요 섹션 의 소유권을 더 자주 가져와 성능을 저하시킬 수 있습니다. 애플리케이션이 다른 스레드에서 Direct3D API 호출을 수행하는 동안 한 스레드에서 창 메시지를 처리하는 경우 애플리케이션은 디바이스를 만들 때 이 플래그를 사용해야 합니다. d3d9.dll 언로드하기 전에 이 창도 제거해야 합니다.
D3DCREATE_NOWINDOWCHANGES Direct3D가 어떤 방식으로든 포커스 창을 변경해서는 안 됨을 나타냅니다.

참고:
이 플래그가 설정된 경우 애플리케이션은 ALT+TAB 및 마우스 클릭 이벤트와 같은 모든 포커스 관리 이벤트를 완전히 지원해야 합니다.

 
D3DCREATE_PUREDEVICE Direct3D가 상태 블록에 저장할 수 있는 모든 항목에 대해 Get* 호출을 지원하지 않도록 지정합니다. 또한 Direct3D에 꼭짓점 처리를 위한 에뮬레이션 서비스를 제공하지 않도록 지시합니다. 즉, 디바이스가 꼭짓점 처리를 지원하지 않는 경우 애플리케이션은 변환 후 꼭짓점만 사용할 수 있습니다.
D3DCREATE_SCREENSAVER 전체 화면 애플리케이션 중에 화면 보호기가 허용됩니다. 이 플래그가 없으면 Direct3D는 호출하는 애플리케이션이 전체 화면인 한 화면 보호기를 사용하지 않도록 설정합니다. 호출 애플리케이션이 이미 화면 보호기인 경우 이 플래그는 영향을 주지 않습니다.
Direct3D 9와 Direct3D 9Ex 간의 차이점:
이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.

 

 

D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING 및 D3DCREATE_SOFTWARE_VERTEXPROCESSING 상호 배타적 플래그입니다. CreateDevice를 호출할 때 이러한 꼭짓점 처리 플래그 중 하나 이상을 지정해야 합니다.

상수 정보

요구 사항
헤더 D3D9.h
최소 운영 체제 Windows 98

 

Direct3D 상수