Share via


리소스에 대한 메모리 유형 지정

사용자 모드 표시 드라이버는 리소스 만들기 요청을 받을 때 사용해야 하는 메모리 유형에 대한 정보를 받습니다. 메모리 유형은 D3DDDIARG_CREATERESOURCE 구조체 멤버의 D3DDDIPOOL_SYSTEMMEM 또는 D3DDDIPOOL_VIDEOMEMORY 열거자를 통해 시스템 또는 비디오 메모리로 각각 지정됩니다. 또한 Microsoft Direct3D 런타임은 멤버에서 다음 열거자 중 하나를 지정하여 사용할 비디오 메모리 유형에 대한 힌트를 드라이버에 제공합니다.

  • D3DDDIPOOL_LOCALVIDMEM

    런타임은 드라이버가 로컬 비디오 메모리를 사용하도록 권장합니다.

  • D3DDDIPOOL_NONLOCALVIDMEM

    런타임은 드라이버가 비로컬 비디오 메모리(예: AGP 메모리)를 사용하는 것이 좋습니다.

런타임은 성능 향상을 위해 사용자 모드 디스플레이 드라이버에 힌트를 제공합니다. 예를 들어 런타임은 CPU가 화면에 쓰는 경우 D3DDDIPOOL_NONLOCALVIDMEM 지정할 수 있으며, 이는 비로컬 비디오 메모리를 사용하여 더 빠르게 수행됩니다.

사용자 모드 디스플레이 드라이버는 공급업체별 방식으로 D3DDDI_ALLOCATIONINFODXGK_ALLOCATIONINFO 구조체의 pPrivateDriverData 멤버를 통해 디스플레이 미니포트 드라이버에 힌트를 전달합니다. 디스플레이 미니포트 드라이버는 드라이버의 DxgkDdiCreateAllocation 함수 호출에서 DXGK_ALLOCATIONINFO 구조체의 HintedSegmentId 멤버에 있는 세그먼트의 식별자를 반환하여 사용할 적절한 메모리 세그먼트를 비디오 메모리 관리자에게 나타냅니다.

리소스를 만드는 데 사용되는 비디오 메모리 유형에 관계없이 사용자 모드 표시 드라이버는 런타임에 의미 체계 차이를 노출해서는 안 됩니다. 즉, 각 비디오 메모리 유형에 대해 드라이버는 정보를 동일하게 렌더링해야 하며 동일한 반환 값을 반환해야 합니다.